读书人

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

发布时间: 2013-11-21 23:38:25 作者: rapoo

这算是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了

读书人网 >.NET

热点推荐