我的项目arm处理器使用的是较旧版本的GCC(版本6.3.0(。然后我转到了一个更新的版本(版本10.2.1 20201103(-arm处理器。
当我希望一个特定的部分将仅仅是一个";空间保持器";,例如,对于工作内存,我使用了属性
__attribute__((section(".sctionName,"aw",@nobits#")))
当使用新的GCC版本时,我得到一个错误:
Error: junk at end of line, first unrecognized character is `,'
在新的GCC版本中有这样的选项吗?
节属性语法在gcc 6和gcc 10之间没有更改。section
的参数只是部分名称;CCD_ 2部分看起来是";肮脏的把戏;(根据section属性中的"aw"标志的含义?(将限定符注入生成的汇编代码中。然而,gcc 10显然在检查有效的节名,其中gcc 6允许任何旧文本,并简单地将其插入到代码中。
你可能需要更多的";官方的";定义截面行为的方法。也许是通过链接器脚本?