新聞中心

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

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

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

include/linux/init.h

本文引用地址:http://m.butianyuan.cn/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標記數(shù)據(jù)。

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

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

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

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

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



關鍵詞: 嵌入式 函數(shù)

評論


相關推薦

技術專區(qū)

關閉