struct a {char b;double a;}通过字节对齐应该是大小应该是12还是16?
我这里Linux上是12,会有16这个结果吗?
[解决办法]
会,M$VC缺省是pack(8)的,结果就是16 ...
[解决办法]
gcc下char是4字节,double是8字节,所以是12啊。
[解决办法]
char 是1字节
double 是4字节
32位操作系统,为了效率问题,保持4字节对齐,
char之后,在double的时候,会从下个4字节开始
所以是4+8=12
发布时间: 2012-03-01 10:25:46 作者: rapoo
struct a {char b;double a;}通过字节对齐应该是大小应该是12还是16?
我这里Linux上是12,会有16这个结果吗?
[解决办法]
会,M$VC缺省是pack(8)的,结果就是16 ...
[解决办法]
gcc下char是4字节,double是8字节,所以是12啊。
[解决办法]
char 是1字节
double 是4字节
32位操作系统,为了效率问题,保持4字节对齐,
char之后,在double的时候,会从下个4字节开始
所以是4+8=12