首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM: GNU GCC LInker bss段对齐

ARM: GNU GCC LInker bss段对齐
EN

Stack Overflow用户
提问于 2013-10-30 02:20:32
回答 1查看 1.5K关注 0票数 1

我正在使用GNU链接器脚本,其中bss部分变量得到非4字节对齐的地址,这是一个很大的问题,因为硬件正在使用变量地址,这需要字对齐地址。

如果我有10个变量,或者我想让链接器为特定部分中的每个变量生成单词对齐的地址,而不是使用其中一个变量的align属性,我该怎么做?

我试过使用ALIGN(),但没有效果。

示例如下:

代码语言:javascript
复制
 .bss.a 9cdf8        0x1

 .bss.b 9cdf9        0x1

对于.bss.b,我想获取0x9cdf8 + 4,所以对于所有的变量。

我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2013-10-31 03:12:37

最好是在定义变量的地方标记需要4字节对齐的变量。例如,在《gcc》中:

代码语言:javascript
复制
char a __attribute__((aligned(4)));
char b __attribute__((aligned(4)));

请参阅http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/Variable-Attributes.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19666181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档