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

这算是D7的BUG吗?解决思路

2013-11-21 
这算是D7的BUG吗?大家看这个结构my recordA:DWORDB:WORDend用SizeOf(my)得到的结果本应是6个字节但是

这算是D7的BUG吗?
大家看这个结构
  my = record
    A:DWORD;
    B:WORD;
  end;
用SizeOf(my)得到的结果本应是6个字节
但是实际运行时,得到的是8个字节?何解?????
如果单独只要一个A元素,则是4个字节,单独一个B元素是2个字节,同时存在的话就是8个字节了,纳闷啊。/。
[解决办法]
内存对齐,默认是4字节对齐的,可以用packed强制使用
my = packed record
     A:DWORD;
     B:WORD;
end;
SizeOf肯定=6了

热点排行