关键字attribute可用于为函数或数据声明属性值,这样可以让编译程序优化处理。比如内核里面经常能看见的section:
#define __exception __attribute__((section(".exception.text")))
具有该属性的函数,汇编代码将会放置到.exception.text段中,而不是.text段中。
实践:把test放到指定段
编写main.c
---------------------------------------------------
int __attribute__((section(".win9.text"))) test(){
return 0;
}
int main(){
test();
return 0;
}
----------------------------------------------------
gcc main.c -c
objdump -t main.o
声明函数可用的属性
声明变量可用的属性
声明数据类型可用的属性