首页 > Windows开发 > 详细

WinCE 下最简单的字节对齐问题

时间:2016-02-22 12:07:21      阅读:230      评论:0      收藏:0      [点我收藏+]

今天在使用结构体时发现结构用 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 下最简单的字节对齐问题

原文:http://www.cnblogs.com/91program/p/5206400.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!