%ALLOC (記憶域の割り振り)

%ALLOC(num)

%ALLOC は、新たに割り振られる指定された長さのヒープ記憶域へのポインターを戻します。新たに割り振られた記憶域は初期化されません。

パラメーターは、小数部ゼロの非浮動数値である必要があります。 指定される長さは、1 から最大許容サイズまでの範囲でなければなりません。

最大許容サイズは、制御仕様書の ALLOC キーワードによる、 RPG メモリー管理命令に使用されるヒープ記憶域のタイプによって異なります。 モジュールがテラスペース・ヒープ記憶域を使用する場合、最大許容サイズは 4294967295 バイトです。 それ以外の場合、最大許容サイズは 16776704 バイトです。

実行時に使用可能な最大サイズは、RPG の許容最大サイズより小さい場合があります。

詳細については、メモリー管理命令を参照してください。

命令が正常に完了しなかった場合、例外 00425 または 00426 が出されます。

図 1. %ALLOC の例
 *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
 /FREE
   // Allocate an area of 200 bytes
   pointer = %ALLOC(200);
 /END-FREE