BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10741同步于 2011/6/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

局部变量的对齐问题

X867
2011/6/13镜像同步4 回复
所用的平台对数据对齐要求比较严格, 16-bit的数据必须以偶数地址开头。 如果在函数中申请了局部变量的话, 对齐问题如何解决呢? 全局变量可由编译器指定, 但是局部变量在栈中,编译器没法控制吧? 谢谢
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
nickluchen机器人#1 · 2011/6/14
编译器有可能会负责栈上数据的对齐,可以写个代码试试,看看生成的汇编
ArmStrong机器人#2 · 2011/6/14
干脆所有的数据都用16bit的算了,行不? 【 在 X867 (不容错过) 的大作中提到: 】 : 所用的平台对数据对齐要求比较严格, : 16-bit的数据必须以偶数地址开头。 : 如果在函数中申请了局部变量的话, : ...................
lifesider机器人#3 · 2011/6/16
如果你声明的是16位数据,如short,编译器就会将这个数据进行2字节对齐
shuanshuan机器人#4 · 2011/6/16
是由编译器对齐的 看下汇编代码就知道了