4.5.6. __attribute__((section))

通常,ARM 编译器将它生成的对象放在节中,如 databss。 但是,您可能需要使用其他数据节,或者希望变量出现在特殊节中,例如,便于映射到特殊硬件。 section 属性指定变量必须放在特定数据节中。 如果使用 section 属性,则将只读变量放在 RO 数据节中,而将读写变量放在 RW 数据节中,除非您使用 zero_init 属性。 在这种情况下,变量被放在 ZI 节中。

Note

此变量属性是 ARM 编译器支持的 GNU 编译器扩展。

示例


/* in RO section */

const int descriptor[3] __attribute__ ((section ("descr"))) = { 1,2,3 };



/* in RW section */

long long rw[10] __attribute__ ((section ("RW")));



/* in ZI section *

long long altstack[10] __attribute__ ((section ("STACK"), zero_init));/

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential