ARM 信息中心http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bc/BCFJBABB.html
#Pragma 指令可能是最复杂的了,他的作用是设定编译器的状态或是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持和C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。
其格式一般为: #Pragma Para
其中Para 为参数,下面来看一些常用的参数。
#pragma arm section [sort_type[[=]"name"]] [,sort_type="name"]*
sort_type: code、rwdata、rodata、zidata
如果“sort_type”指定了但没有指定“name”,那么之前的修改的段名将被恢复成默认值。
#pragma arm section // 恢复所有段名为默认设置。
应用:
#pragma arm section rwdata = "SRAM",zidata = "SRAM"
static OS_STK SecondTaskStk[256]; // “rwdata”“zidata”将定位在“sram”段中。
#pragma arm section // 恢复默认设置
#pragma arm section [section_sort_list
]
(1)message 参数。 Message 参数是我最喜欢的一个参数,他能够在编译信息输出窗
口中输出相应的信息,这对于原始码信息的控制是非常重要的。其使用方法为:
#Pragma message(“消息文本”)
当编译器遇见这条指令时就在编译输出窗口中将消息文本打印出来。
当我们在