定义了以下变量
tDAYOO_HEAD_tag = Record
MessageLength :longword;
DYVersion :byte;
CommandID :longword;
end; tDAYOO_Submit_Resp_body_tag=Record
result :byte;
end; tDayoo_Submit_tag = Packed Record
Head :tDAYOO_HEAD_tag;
Body :tDAYOO_Submit_body_tag;
end; tDayoo_total_tag = Record
MessageLength :longword;
DYVersion :byte;
CommandID :longword;
result :byte;
end;
但是
SizeOf(tDayoo_total_tag) //长度:16
SizeOf(tDayoo_Submit_tag) //长度:13
的两个值不一样,为什么?请大家指津
tDAYOO_HEAD_tag = Record
MessageLength :longword;
DYVersion :byte;
CommandID :longword;
end; tDAYOO_Submit_Resp_body_tag=Record
result :byte;
end; tDayoo_Submit_tag = Packed Record
Head :tDAYOO_HEAD_tag;
Body :tDAYOO_Submit_body_tag;
end; tDayoo_total_tag = Record
MessageLength :longword;
DYVersion :byte;
CommandID :longword;
result :byte;
end;
但是
SizeOf(tDayoo_total_tag) //长度:16
SizeOf(tDayoo_Submit_tag) //长度:13
的两个值不一样,为什么?请大家指津
packed的话是编译器没有使用对齐。
而默认的是,编译器是使用对齐