WinCE 下最简单的字节对齐问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinCE 下最简单的字节对齐问题相关的知识,希望对你有一定的参考价值。
今天在使用结构体时发现结构用 sizeof 求出现的大小 与 实际的大小不一致。
例如:以下结构
1 typedef struct 2 { 3 BYTE ucCommStartFlag; 4 5 WORD wMessageID; 6 WORD wMessageAttribute; 7 BYTE ucMobileNumberBCD[6]; 8 WORD wSequenceID; 9 WORD wPackagesNumber; 10 WORD wPackageIndex; 11 BYTE ucCRC 12 13 BYTE ucCommEndFlag; 14 }RegisterTerminate_T;
sizeof(RegisterTerminate_T) 竟然等于20,而不是 19。
查看内存,发现 ucCommStartFlag 后面的一个字节未使用,应该属于字节对齐的问题:WORD 类型变量不能从奇数地址开始。
以上是关于WinCE 下最简单的字节对齐问题的主要内容,如果未能解决你的问题,请参考以下文章