Linux内核中的xx_initcall初始化标号

2014-11-24 11:33:30 ? 作者: ? 浏览: 1

先看这些宏的定义(定义在文件include/linux/init.h中)


__define_initcall


这些宏都用到了__define_initcall(),再看看它的定义(同样定义在文件include/linux/init.h中)


这其中initcall_t是函数指针,原型如下,



而属性 __attribute__((__section__())) 则表示把对象放在一个这个由括号中的名称所指代的section中。


所以__define_initcall的含义是:


1) 声明一个名称为__initcall_##fn的函数指针;


2) 将这个函数指针初始化为fn;


3) 编译的时候需要把这个函数指针变量放置到名称为 ".initcall" level ".init"的section中。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: