5.7 属性声明
主要用途
使用__attribute__来声明变量、函数的特殊属性
指导编译器来进行特定方面的优化或代码检查
使用方法
在声明后面添加:_ attribute _((ATTRIBUTE))
例:int global_val _attribute_((section(“.data”)));
放到自定义的test段
int global_val _attribute_((section(“test”)));
细节问题
变量和函数不能放在同一个段
查看section表
reabdelf -S xxx.out
Linux内核驱动中的 __init宏
使用完之后内核又会吧init段给清了
启动的时候会打印
Freeing unused kernel memory
start_kernel – kernel_init – free_initmem
相当于一次性的
#define __init __section(.init.text)
linux内核初始化
- 前面是一段汇编代码
- start_kernel