static int _init **_init
_init不属于c的标准
在内核代码里,这个表示把这个函数放在.init.text section里
在include/linux/init.h里有定义
#define __init __attribute__ ((__section__ (".init.text")))
这个section的空间是会被回收的,
init section的代码/数据都只是在内核初始化的时候用到
所以初始化完成以后就可以释放了
内核的启动信息 freeing init memory就是指的这个
这个段的数据和函数只有在kernel初始化的时候会被调用,以后一定不会被使用,kernel可能会在以后的某个时候释放掉这个段所占用的内存,给别的地方使用
void exit **_exit
阅读(625) | 评论(0) | 转发(0) |