linux源碼分析(一)
2016-10-24 10:29 by 軒脈刃, 210 閱讀, 1 評(píng)論, 收藏, 編輯前置:這里使用的linux版本是4.8,x86體系。
其實(shí)linux的內(nèi)核啟動(dòng)的入口文件還是非常好找的,init/main.c。
static 和 extern
首先理解的是static和extern的區(qū)別:
static int kernel_init(void *); extern void init_IRQ(void); extern void fork_init(void); extern void radix_tree_init(void);
這個(gè)代碼說(shuō)的是kernel_init函數(shù)的定義在這個(gè)文件中,extern說(shuō)明init_IRQ函數(shù)的定義在其他文件中。
這三個(gè)extern分別是對(duì)中斷的初始化,對(duì)fork功能的初始化,對(duì)基數(shù)樹(shù)的初始化。不過(guò)具體不知道為什么有的函數(shù)以init_xxx為風(fēng)格,有的又以xxx_init的風(fēng)格來(lái)做。