CBL_ALLOC_DYN_MEM

動的にメモリを割り付ける。また、メモリを呼出しプログラムに関連付けることができる。

構文:
call "CBL_ALLOC_DYN_MEM" using     mem-pointer
                         by value  mem-size
                                   flags
                         returning status-code
パラメタ:
呼び出しプロトタイプ使用時 ( 説明の読み方) PIC (32bitシステム)
mem-pointer cblt-pointer usage pointer. Must be level 01.
mem-size cblt-os-size pic x(4) comp-5.
flags cblt-os-flags pic x(4) comp-5.
status-code 説明の読み方 参照
入力パラメタ:
mem-size

割り付けるメモリのバイト数

flags

次のビット設定に従って割り付けるメモリの種類を示す。

ビット0-1

予約済み。ゼロに設定すること。

ビット2

どの呼出しプログラムからも独立させてメモリを割り当てる。

ビット4-31 予約済み。ゼロに設定すること。

出力パラメタ:
mem-pointer

割り当てられるメモリへのポインタ。割り当てられたメモリは初期化されない。

status-code
0

メモリ割当てが正常終了した

157

メモリを割り当てることができない

181

フラグ指定が矛盾している

説明:

割り当てられたメモリは、どの値にも初期化されない。

本ルーチンにより割り当てられるメモリの最大サイズは、(-l実行時スイッチが設定されていない限りは)オペレーティングシステムだけに制約される。

ビット2が設定されていない場合、CBL_ALLOC_DYN_MEMによって割り付けられたメモリはすべて割り付けたプログラムが取り消される(論理的または物理的に)ときに解放される。ただし、COBOLプログラムが直接的または間接的にプログラムの呼出し側である場合。ビット2が設定されている場合は、メモリは実行単位が終了したときに解放される。ただし、CBL_FREE_DYN_MEMによって解放されていない場合。

他参照:

関連項目