我希望将一个特定的变量放在其内存段的末尾。
如果我有:
file1.cpp:
__attribute__((section(".mysection"))) char var1[] = "var1";
在另一个文件file2.cpp中:
__attribute__((section(".mysection"))) char var2[] = "var2";
我该如何强制将
var2
放置在mysection
的末尾?我希望将一个特定的变量放在其内存段的末尾。
如果我有:
file1.cpp:
__attribute__((section(".mysection"))) char var1[] = "var1";
在另一个文件file2.cpp中:
__attribute__((section(".mysection"))) char var2[] = "var2";
var2
放置在mysection
的末尾?好的,我最终采用了完全不同的方法,但我想在这里分享我的最终结论:
我基于如何获取我的代码的结束地址进行了研究。
在代码中,你必须添加一个extern引用变量:
extern char var2[];
SECTIONS
{
.mysection : {
*(.mysection);
var2 = .;
}
}
INSERT AFTER .mysection
ld -T <PATH_TO_MY_LINKER_SCRIPT>
)。INSERT AFTER
部分用于将我的链接器脚本添加到默认的链接器脚本中。