用C代码(GCC)定义程序段

时间:2010-08-18 20:30:12

标签: gcc

在汇编语言中,很容易定义类似的部分:

.section foo

如何在C代码中完成?我想在一个特殊的部分而不是.text中放入一段C代码,这样我就可以将该部分放在链接描述文件的特殊位置。

我正在使用GCC。

1 个答案:

答案 0 :(得分:17)

C标准没有说明你所指的“部分”,所以你需要使用特定于编译器的扩展。

使用GCC,您需要使用section属性:

extern void foobar(void) __attribute__((section("bar")));

有一些有限的文档here,包括警告:

  

某些文件格式不支持   任意部分所以这一节   属性并非全部可用   平台。如果你需要映射   一个模块的全部内容到了   特别部分,考虑使用   相反,链接器的设施。