新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式:關于Linux下_init與_exit的解釋

        嵌入式:關于Linux下_init與_exit的解釋

        作者: 時間:2016-09-12 來源:網絡 收藏

        include/linux/init.h

        本文引用地址:http://www.104case.com/article/201609/303922.htm

        #define __init __attribute__ ((__section__ (.init.text)))

        #define __initdata __attribute__ ((__section__ (.init.data)))

        #define __exitdata __attribute__ ((__section__(.exit.data)))

        #define __exit_call __attribute_used__ __attribute__ ((__section__ (.exitcall.exit)))

        #ifdef MODULE

        #define __exit __attribute__ ((__section__(.exit.text)))

        #else

        #define __exit __attribute_used__ __attribute__ ((__section__(.exit.text)))

        #endif__init和__exit標記,__initdata和__exitdata標記數據。

        此宏定義可知標記后的與數據其實是放到了特定的(代碼或數據)段中。

        標記為初始化的,表明該函數供在初始化期間使用。

        在模塊裝載之后,模塊裝載就會將初始化函數扔掉。這樣可以將該函數占用的內存釋放出來。

        __exit修飾詞標記函數只在模塊卸載時使用。

        如果模塊被直接編進內核則該函數就不會被調用。如果內核編譯時沒有包含該模塊,則此標記的函數將被簡單地丟棄。



        關鍵詞: 嵌入式 函數

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 习水县| 松阳县| 南充市| 合阳县| 江永县| 佛学| 金乡县| 阳城县| 长葛市| 宝鸡市| 松原市| 龙海市| 武汉市| 宁乡县| 开封县| 中牟县| 婺源县| 乡宁县| 周宁县| 长汀县| 五原县| 林周县| 正阳县| 鞍山市| 台东市| 内江市| 五大连池市| 定陶县| 轮台县| 恩施市| 饶阳县| 利津县| 五家渠市| 墨竹工卡县| 肥西县| 仁化县| 靖边县| 安西县| 台州市| 永城市| 广安市|