armsectionsection_sort_list
指定的代码或数据的节的名称用于随后的函数或对象。这包括编译器初始化创建的匿名对象的定义。选项??有没有效果:
内联函数(及其局部静态变量)
模板实例(及其局部静态变量)
消除未使用的变量和函数。(虽然使用
#pragmaarmsection可能使连接器,以消除函数或变量,否则将被保留,因为它是在同一节中使用的函数或变量。)
定义写入对象文件的顺序。
pragma的完整语法是:
#pragmaarmsection[sort_type[[=]"name"]][,sort_type="name"]
其中name是名称使用的部分,sort_type是一个:
码
rodata
rwdata
zidata。
如果sort_type被指定,但名称不是为sort_type重置为默认值。输入的#pragmaarmsection所有对象部分的名称,它们的默认值
intx1=5;//in.data(default)
inty1[100];//in.bss(default)
intconstz1[3]={1,2,3};//in.constdata(default)
#pragmaarmsectionrwdata="foo",rodata="bar"
intx2=5;//infoo(datapartofregion)
inty2[100];//in.bss
intconstz2[3]={1,2,3};//inbar
chars2="abc";//s2infoo,"abc"in.conststring
#pragmaarmsectionrodata
intx3=5;//infoo
inty3[100];//in.bss
intconstz3[3]={1,2,3};//in.constdata
chars3="abc";//s3infoo,"abc"in.conststring
#pragmaarmsectioncode="foo"
intadd1(intx)//infoo(codepartofregion)
{
returnx+1;
}
#pragmaarmsectioncode
作为替代的#pragmaarmsection,使用GNU__attribute__的功能属性描述函数或变量,。
|
|