ミ,,゚Д゚彡DelフサギコのフサフサDelphi談話室�A
■ このスレッドは過去ログ倉庫に格納されています
0753Delフサギコ ◆zE1iiRdQ
NGNG間にゴミが残るようなものも書けるんですね。
動作速度効率化の為に4バイト確保される?
…つーか。packed recordって初めて知ったです。
HELPを調べると
>デフォルトでは,構造化型の値はアクセスを速くするために
>ワード境界またはダブルワード境界にアラインメントされます。
>構造化型を宣言するときは,予約語 packed を使用すると
>データを圧縮して格納できます。次に例を示します。
こんな風に載ってました。
type
TPackedRecord = packed record
F1: Byte; //1バイト
F2: word; //2バイト
F3: Byte; //1バイト
end;
TNormalRecord = record
F1: Byte; //1バイト
F2: word; //2バイト
F3: Byte; //1バイト
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.lines.Add(IntToStr(SizeOf(TPackedRecord)));
Memo1.Lines.Add(IntToStr(SizeOf(TNormalRecord)));
end;
1行目は4
2行目は6ってでました
∧,,∧ ビックリンコ
ミσ゚Д゚ミσ
■ このスレッドは過去ログ倉庫に格納されています