在汇编语言中,很容易定义类似的部分:
.section foo
如何在C代码中完成?我想在一个特殊的部分而不是.text
中放入一段C代码,这样我就可以将该部分放在链接描述文件的特殊位置。
我正在使用GCC。
答案 0 :(得分:17)
C标准没有说明你所指的“部分”,所以你需要使用特定于编译器的扩展。
使用GCC,您需要使用section
属性:
extern void foobar(void) __attribute__((section("bar")));
有一些有限的文档here,包括警告:
某些文件格式不支持 任意部分所以这一节 属性并非全部可用 平台。如果你需要映射 一个模块的全部内容到了 特别部分,考虑使用 相反,链接器的设施。