日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

嵌入式:關(guān)于Linux下_init與_exit的解釋

;原始定義:include/linux/init.h #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標記函數(shù) , __initdata和__exitdata標記數(shù)據(jù) 。此宏定義可知標記后的函數(shù)與數(shù)據(jù)其實是放到了特定的(代碼或數(shù)據(jù))段中 。標記為初始化的函數(shù),表明該函數(shù)供在初始化期間使用 。在模塊裝載之后 , 模塊裝載就會將初始化函數(shù)扔掉 。這樣可以將該函數(shù)占用的內(nèi)存釋放出來 。__exit修飾詞標記函數(shù)只在模塊卸載時使用 。如果模塊被直接編進內(nèi)核則該函數(shù)就不會被調(diào)用 。如果內(nèi)核編譯時沒有包含該模塊,則此標記的函數(shù)將被簡單地丟棄 。

    推薦閱讀