__init
的有关信息介绍如下:
init是Linux内核开发中的宏定义,通过GCC编译器属性attribute__将标记的函数或变量存放在.init.text或.init.data专用内存段中,初始化完成后自动释放以节约内存空间。
该宏定义在/include/linux/init.h中实现,利用section指令指定代码段位置,并与module_init、subsys_initcall等初始化调用机制联动。内核启动时调用链start_kernel→do_initcalls会遍历.initcall*.init段中的函数指针,按等级顺序执行初始化代码。
其设计源于Linux内核模块化管理的需求,通过链接脚本vmlinux.lds.S定义初始化段的内存布局,确保仅在系统启动阶段保留必要资源。
想要了解更多“__init”的信息,请点击:__init百科



