__attribute__((section(".x")))及引申

关键字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

__attribute__((section(


声明函数可用的属性

__attribute__((section(
__attribute__((section(


声明变量可用的属性

这里写图片描述
__attribute__((section(
__attribute__((section(


声明数据类型可用的属性

__attribute__((section(
__attribute__((section(

你可能感兴趣的:(Gcc,&,Makefile,LinuxKernel)