学无止境

在windows中内存的分配一次是4个字节的。而packed按数据类型进行内存的申请和分配,读取时也是按照数据型的大小进行指针定位,这样速度要慢一些,因为需要额外的时间来进行指针的定位。因此如果不用packed的话,delphi将按一次4个字节的方式申请内存,因此如果一个变量没有4个字节宽的话也要占4个字节!这样就浪费了,你可以用packed关键字取消这种优化。

例子: 
type 
myrec = packed record 
n1 : integer; 4个字节 
n2 : shortint; 1个字节 
end;   

sizeof(myrec)------ 5 

type 
myrec = record 
n1 : integer; 
n2 : shortint; 
end; 
sizeof(myrec)------ 8

posted on 2011-09-07 16:34  DHT  阅读(391)  评论(0编辑  收藏  举报