CBL_ALLOC_DYN_MEM

メモリを動的に割り当てます。割り当てられたメモリを呼び出し元のプログラムに関連付けることも可能です。

構文:

call "CBL_ALLOC_DYN_MEM" using     mem-pointer
                         by value  mem-size
                                   flags
                         returning status-code

パラメーター:

  呼び出しプロトタイプ使用時 (「説明の読み方」を参照) PIC
mem-pointer cblt-pointer USAGE POINTER。レベル 01 にする必要があります。
mem-size cblt-os-size pic x(4) comp-5

または

pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ)

flags cblt-os-flags pic x(4) comp-5

または

pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ)

status-code 説明の読み方」を参照  

入力パラメーター:

mem-size
割り当てるメモリのバイト数。
flags
必要なメモリのタイプ。次のビットを設定できます。
ビット 0 から 1 予約済み。0 に設定する必要があります。
ビット 2 いずれの呼び出し元プログラムからも独立したメモリとして割り当てます。
上記以外のビット 予約済み。0 に設定する必要があります。

出力パラメーター:

mem-pointer
割り当てられたメモリへのポインター。割り当てられたメモリは初期化されません。
status-code
0 割り当て成功。
157 メモリを割り当てることができない。
181 flags の指定が矛盾している。

説明:

割り当てられたメモリについて、特定値への初期化は実行されません。

割り当てられるメモリの最大サイズはオペレーティング システムにのみ制限されます。

CBL_ALLOC_DYN_MEM でビット 2 を設定せずに割り当てられたメモリは、直接的または間接的な呼び出し元である COBOL プログラムがある場合、割り当てを行ったプログラムが論理的または物理的にキャンセルされると解放されます。ビット 2 を設定した場合は、CBL_FREE_DYN_MEM によって解放されていなければ、対応する実行単位が終了したときに解放されます。