我有一个在声明时初始化的变量,该变量也被标记为链接到NOLOAD部分,即:
struct mystruct_s mystruct __attribute((section(".noload_sec"))) =
{
.something = 100,
.something_else = 100,
};
链接器是否可以自动检测此无效条件?这意味着如果有人试图在声明中初始化一个位于将不被加载的节中的变量,我们会出错吗?
答案 0 :(得分:0)
经过几次不同的尝试,并且这里没有答案,我得出的结论是,当前的GCC无法强制执行此操作。
一种解决方案是编写一个构建时脚本来扫描源,并在初始化位于init部分的符号的变量声明时对其进行初始化。