在汇编语言中,我使用.section指令告诉汇编程序输出到哪个部分
.section init
有没有办法在C文件中做同样的事情。我希望某些文件的代码进入不同的部分,以便我可以将其加载到不同的内存地址。我知道我可以为ld创建一个脚本并在那里指定部分,但我不想这样做。是否有一些编译器开关或.section指令类型的C文件将执行此操作?
在汇编语言中,我使用.section指令告诉汇编程序输出到哪个部分
.section init
有没有办法在C文件中做同样的事情。我希望某些文件的代码进入不同的部分,以便我可以将其加载到不同的内存地址。我知道我可以为ld创建一个脚本并在那里指定部分,但我不想这样做。是否有一些编译器开关或.section指令类型的C文件将执行此操作?
有:
__attribute__((section("section_name")))
所以,例如:
void foo() __attribute__((section(".text_foo")));
....
void foo() {}
会放置 foo
在 .text_foo
看到 这里 了解更多信息。