#pragma for GNU ARM

时间:2013-09-23 16:24:07

标签: c linker gnu-arm

我想将整个C文件包含在输出部分

以下是我正在尝试的示例代码:

#include<stdio.h>
#pragma arm section code = ".sec_ro"
int main(void)
{
printf("Hi\n");
}
#pragma arm section

我用过:

arm-none-linux-gnueabi-gcc -S hello.c

获取.S文件。

但看起来{。1}}部分在.S文件中不存在。

编辑/更新

附加.s文件内容:

sec_ro

我想附上一个完整的C文件来创建输出部分,我使用的是GNU ARM工具链,我错过了什么?

2 个答案:

答案 0 :(得分:0)

'#pragma arm'指令仅受ARM工具链(RVCT或DS-5)支持。对于GCC,您需要使用链接描述文件或'_attribute(section)'样式语法。这支持armcc和GCC:

http://www.keil.com/support/man/docs/armccref/armccref_Cacbgief.htm

答案 1 :(得分:0)

这是否表示如果使用gcc,是否无法通过progma之类的方法指定整个文件会话?

从源代码级别允许progma语法很重要,因为在许多情况下,链接器并不真正知道将要包含哪些文件,尤其是在大型项目中使用相同的链接脚本时。