gcc - 使用#pragma将__attribute __((section(" .dflash_code")))应用于整个源文件

时间:2017-11-21 16:06:08

标签: c++ c gcc linker

我真的不想将__attribute__((section(".dflash_code")))复制粘贴到给定源文件中的每个函数。

是否有办法使用#pragma告诉编译器将该属性应用于源文件中的每个函数?

2 个答案:

答案 0 :(得分:0)

我认为您无法在源代码中执行此操作,但您可以在目标文件上使用objcopy --rename-section .text=.dflash_code来获得相同的效果。有关如何使用objcopy的详细建议,请参阅GNU Binutils manual

答案 1 :(得分:0)

也许它不会让你免于在函数声明中有所作为,但实际上我更喜欢知道特定函数(甚至所有函数)都不在.text部分。我通常Button button1=new Button(context); button1.setText("test"); button1.setId(id); containerlayout.add(button1); 更短的像

#define

并在代码中使用它。当我在一段时间后看到这个函数在声明中有一些特殊的东西时,它也记得我。