M$ALLOC (動的メモリ・ルーチン)

動的メモリの新しい領域を割り当てます。
制限事項:このルーチンはネイティブ COBOL でのみサポートされます。
注:この ACUCOBOL-GT ライブラリ・ルーチンはこの COBOL バージョンで利用できます。この COBOL システムの互換性の問題は、トピックの終わりにある「互換性の問題」節に表示されます。

使用法

CALL "M$ALLOC" 
USING ITEM-SIZE, MEM-ADDRESS

パラメータ

ITEM-SIZE 数値パラメータ 割り当てるバイト数を示します。ゼロよりも大きくする必要があります。
MEM-ADDRESS USAGE POINTER 戻り値 (割り当てられたメモリのアドレス、または割り当てが失敗した場合は NULL のいずれか) を保持します。

コメント

1 回の呼び出しで割り当てることができるメモリの最大量はホスト・マシンによって異なりますが、すべてのマシンで 65260 バイト以上になります (大量のメモリを利用できる場合)。M$ALLOC は、割り当てられる各メモリ・ブロックにオーバーヘッドを追加します。この範囲は、マシンのアーキテクチャに応じて 4 ~ 16 バイトになります。また、各オペレーティング・システムは、通常、各自のオーバーヘッドを追加します。デバッガの U コマンドは、M$ALLOC によって現在割り当てられているメモリ量をレポートします。M$ALLOC で追加されたオーバーヘッドは、表示される合計にインクルードされますが、オペレーティング・システムのオーバーヘッドはインクルードされません。M$ALLOC で割り当てられるメモリは、バイナリのゼロに初期化されます (LOW VALUES)。

環境で与えられる以上のメモリを割り当てようとすると、M$ALLOC は NULL を戻し、メモリは割り当てられません。

互換性の問題

なし