嵌入式:關于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標記函數,__initdata和__exitdata標記數據。

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

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

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

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

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

Linux 運行級init詳解
Linux 啓動時需要哪些步驟呢?本文將詳細描述不同的運行級在啓動中的作用。 對于那些在DOS/Win9x/NT 平台下的高級用戶而言,Linux 似乎是一個怪物。沒有config.sys ,沒有 autoexec.bat,具有個人特色的機器配置不知...查看完整版>>Linux 運行級init詳解
 
用init玩轉 Linux 運行級別
也許大家偶然會發現/sbin裏有個init命令。你知道它是如何使用的嗎? 如果你不喜歡使用圖形登錄方式,如何能夠讓用戶在控制台下運行startx命令呢? 有時你要維護服務器,暫時不希望別的用戶登錄系統,但自己仍對網絡有...查看完整版>>用init玩轉 Linux 運行級別
 
Linux運行級init詳解
  Linux 啓動時需要哪些步驟呢?本文將詳細描述不同的運行級在啓動中的作用。  對于那些在DOS/Win9x/NT 平台下的高級用戶而言,Linux 似乎是一個怪物。沒有config.sys ,沒有  autoexec.bat,具有個人特色的機...查看完整版>>Linux運行級init詳解
 
Linux指令篇:起始管理--init
  名稱:init  使用權限:開機時  使用方式:init   說明:init 是所有行程(process)的父行程(parent),開機時一定會先從這個指令開始(可以用 ps -aux 看看第一個行程就是 init),並參考 /etc/inittab...查看完整版>>Linux指令篇:起始管理--init
 
Linux運行級init詳解
  Linux 啓動時需要哪些步驟呢?本文將詳細描述不同的運行級在啓動中的作用。  對于那些在DOS/Win9x/NT 平台下的高級用戶而言,Linux 似乎是一個怪物。沒有confi  g.sys ,沒有  autoexec.bat,具有個人特色...查看完整版>>Linux運行級init詳解
 
linux運行級init詳解
  linux 啓動時需要哪些步驟呢?本文將詳細描述不同的運行級在啓動中的作用。  對于那些在DOS/Win9x/NT 平台下的高級用戶而言,linux 似乎是一個怪物。沒有  config.sys ,沒有autoexec.bat,具有個人特色的機...查看完整版>>linux運行級init詳解
 
Linux指令篇:起始管理--init
  名稱:init  使用權限:開機時  使用方式:init   說明:init 是所有行程(process)的父行程(parent),開機時一定會先從這個指令開始(可以用 ps -aux 看看第一個行程就是 init),並參考 /etc/inittab...查看完整版>>Linux指令篇:起始管理--init
 
Linux init詳解
一、什麽是INIT:    init是Linux系統操作中不可缺少的程序之一。    所謂的init進程,它是一個由內核啓動的用戶級進程。    內核自行啓動(已經被載入內存,開始運行,並已初始化所有的設備驅動程序和數據結構...查看完整版>>Linux init詳解
 
[Linux FAQ]init: Id "x" respawning too fast: disabled for 5 minutes
不知道什麽原因,啓動不了X,報錯:init: Id "x" respawning too fast: disabled for 5 minutes記下解決過程:找了些資料,:不過報錯沒有具體指出X=多少,所以沒法使用注釋掉以下某一行的方法。# Run gettys in sta...查看完整版>>[Linux FAQ]init: Id "x" respawning too fast: disabled for 5 minutes
 
 
回到王朝網路移動版首頁