首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

arm-linux-gcc 对齐有关问题

2012-03-24 
arm-linux-gcc 对齐问题struct XXX{char Ashort Bchar C}测试结果是8字节.加-fpack-struct则是4字节.

arm-linux-gcc 对齐问题
struct XXX
{
  char A;
  short B;
  char C;
};

测试结果是8字节.
加-fpack-struct则是4字节.
我希望象大多数编译器那样是6字节.
应该怎么做?



[解决办法]
我希望象大多数编译器那样是6字节.
---------------------
大多数编译器也应改是8字节吧

可以指定
#pragma pack(2)

但是为了便于移植,其实结构体的排列都是紧密排列同时又保证4字节对齐的
需要设计结构体的时候不要吝啬,至少一个int ,或者2个short挨一起,或者4个char挨一起
[解决办法]

探讨
至少我的测试结果gcc,cc,cl,bcc等都是6,就ARM特殊
#pragma pack(2)这个我考虑过对于下面的就不能得到正确结果1和8:
#pragma pack(2)
struct YYY
{
char LL;
}; //得到2
struct ZZZ
{
char A;
int B;
};//得到6

继续等待...

[解决办法]

[解决办法]
学习了
最好不要用这些“硬”的技巧。

[解决办法]
强烈建议不要将内存地址影射数据结构,这样就不用管它几个字节了.
鄙视这样的做法

热点排行