有时候为了满足某些硬件的内存和I/O的地址布局,程序员希望某些数据或者代码放到自定义的段。GCC提供一个扩展机制,使得程序员可以指定变量所处的段。
要注意,“.”开头的是系统段的命名规范,自定义段不应该以“.”开头。
例:
__attribute__((section("FOO"))) int global = 42;
__attribute__((section("BAR"))) void foo()
{
}
在全局函数或变量之前加__attribute__((section("name"))) 属性,就可以了