C$MEMCPY (動的メモリ・ルーチン)

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

使用法

CALL "C$MEMCPY" 
USING, BY VALUE, DEST-PTR, SRC-PTR, NUM-BYTES

パラメータ

DEST-PTR USAGE POINTER または USING BY REFERENCE 宛先の最初のバイトのアドレスを含めます。
SRC-PTR USAGE POINTER または USING BY REFERENCE ソースの最初のバイトのアドレスを含めます。
NUM-BYTES USAGE UNSIGNED-INT または符号なし数字リテラル コピーするバイト数を示します。

説明

このルーチンは、SRC-PTR に含まれるアドレスのメモリの NUM-BYTES バイトを、DEST-PTR に含まれるアドレスにコピーします。このルーチンは、パラメータがリファレンスではなく値によって渡される点を除き、M$COPY (動的メモリ・ルーチン) と機能上似ています。 M$PUT および M$GET が適していない場合にこのルーチンを使用できます。このルーチンの使用は比較的危険であることに注意してください。このルーチンはエラー・チェックを行わず、不正なデータを渡した場合、メモリ・アクセス違反が発生しやすくなっています。つまり、かなり低レベルのルーチンであるため、注意して使用する必要があります。

SRC-PTR および DEST-PTR に POINTER データ項目を渡す必要はありません。SRC-PTR と DEST-PTR のいずれかあるいはどちらも、必要に応じて、BY REFERENCE 渡しのデータ項目で置き換えることができます。置き換える場合、データ項目のアドレスは C$MEMCPY に渡されます。例えば、次のようにして SRC-PTR に含まれるメモリ・アドレスから 10 バイトを DEST-ITEM にコピーできます。

     CALL "C$MEMCPY" 
USING BY REFERENCE DEST-ITEM, BY VALUE SRC-PTR, 10

互換性の問題

なし