共有メモリを動的に割り当てます。
構文:
call "CBL_ALLOC_SHMEM" using mem-pointer
by value mem-size
by value 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 |
status-code |
「説明の読み方」を参照説明の読み方 |
|
入力パラメーター:
- mem-size
- 割り当てるメモリのバイト数。
- flags
- ゼロに設定する必要があります。
出力パラメーター:
- mem-pointer
- 割り当てられたメモリへのポインター。割り当てられたメモリは初期化されません。
- status-code
-
0 |
割り当て成功。 |
157 |
メモリを割り当てることができない。 |
説明:
動的に割り当てることができる共有メモリの最大合計サイズは、shared_memory_segment_size ランタイム チューナーの値 (明示的に設定されていない場合はそのデフォルト値) になります。
割り当てられたメモリについて、特定値への初期化は実行されません。
この関数に割り当てられた共有メモリに対する更新には、アクセスの順序付けやランタイム システムからの保護は施されません。そのため、セマフォを使用して、データの整合性を維持する必要があります。
このルーチンは、AMODE 指令を有効にしてコンパイルされたサブプログラム内では使用できません。