我正在使用GNU链接器脚本,其中bss部分变量得到非4字节对齐的地址,这是一个很大的问题,因为硬件正在使用变量地址,这需要字对齐地址。
如果我有10个变量,或者我想让链接器为特定部分中的每个变量生成单词对齐的地址,而不是使用其中一个变量的align属性,我该怎么做?
我试过使用ALIGN(),但没有效果。
示例如下:
.bss.a 9cdf8 0x1
.bss.b 9cdf9 0x1对于.bss.b,我想获取0x9cdf8 + 4,所以对于所有的变量。
我如何才能做到这一点?
发布于 2013-10-31 03:12:37
最好是在定义变量的地方标记需要4字节对齐的变量。例如,在《gcc》中:
char a __attribute__((aligned(4)));
char b __attribute__((aligned(4)));请参阅http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Variable-Attributes.html
https://stackoverflow.com/questions/19666181
复制相似问题