5.7 属性声明

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内核初始化

  1. 前面是一段汇编代码
  2. start_kernel

你可能感兴趣的:(5.7 属性声明)