メモリの操作
メモリを確保する手続きと関数
GetMem | 動的変数およびそのブロックのアドレスへのポインタを作成します。 | |
AllocMem | メモリブロックを割り当て,各バイトをゼロに初期化します。 | |
New | 新しい動的変数を作成し,P をその変数のポインタに設定します。 | |
NewStr | 文字列をヒープに割り当てます。(下位互換性のための関数) |
メモリを解放する手続きと関数
FreeMem | 指定されたサイズの動的変数を破棄します。 | |
Dispose | 動的変数に割り当てられたメモリを解放します。 | |
DisposeStr | NewStr によって以前に割り当てられた文字列ポインタを破棄します。 |
例 256バイトのメモリを確保し、0,1,2,...255を書き込む
var
i: Smallint;
p: PByte;
buff: PByte;
begin
buff := PByte(AllocMem(256));
p := buff;
for i:=1 to 256 do
begin
p^ := Byte(i-1);
Inc(p);
end;
.....
FreeMem(buff);
end;