共2条
1/1 1 跳转至页
ads,sizeof 关于ads下sizeof函数返回字节数与实际不符问题!!
问
最近做44b0+8019,在写tcp协议时遇到一个问题,关于结构体字节数。
定义了如下结构体:
struct mystruct {
unsigned short head[9];
unsigned short iphead[10];
unsigned char i;
unsigned int index;
};我用sizeof(struct mystruct),结果为44。计算下:18+20+1+4=43。
我怀疑是ARM里要求四字节对齐的缘故 答 1: 是这样的,结果字对齐!是这样的,结果字对齐!
PC机下面也是一样的,我现在的做法是把结构提都拼成字对齐的!或者只能自己动态计算了 答 2: 谢楼上的!谢楼上的!
我在pc机里用vc试了下,结果如你所说,也是44。以前怎么就没注意呢。
定义了如下结构体:
struct mystruct {
unsigned short head[9];
unsigned short iphead[10];
unsigned char i;
unsigned int index;
};我用sizeof(struct mystruct),结果为44。计算下:18+20+1+4=43。
我怀疑是ARM里要求四字节对齐的缘故 答 1: 是这样的,结果字对齐!是这样的,结果字对齐!
PC机下面也是一样的,我现在的做法是把结构提都拼成字对齐的!或者只能自己动态计算了 答 2: 谢楼上的!谢楼上的!
我在pc机里用vc试了下,结果如你所说,也是44。以前怎么就没注意呢。
共2条
1/1 1 跳转至页
我要赚赏金
