言語間呼び出しに関する考慮事項
- RPG プロシージャーが ILE CL プロシージャーと正しくやりとりを行なうことを
確認するには、ILE CL プロシージャーのプロトタイプにおいて、または ILE CL プロシージャーによって
呼び出される RPG プロシージャーにおいて、EXTPROC(*CL:'procedurename') と
コーディングします。
- RPG プロシージャーが ILE C
プロシージャーと正しくやりとりを行なうことを確認するには、ILE C
プロシージャーのプロトタイプにおいて、または ILE C プロシージャーによって呼び出される
RPG プロシージャーにおいて、EXTPROC(*CWIDEN:'procedurename') または
EXTPROC(*CNOWIDEN:'procedurename') とコーディングします。ILE C ソースがそのプロシージャーに対して
#pragma argument(procedure-name,nowiden) を含んでいる場合は *CNOWIDEN を使用し、そうでない場合は *CWIDEN を使用します。
- どの ILE 言語からも RPG プロシージャーを正常に使用したいならば、EXTPROC
キーワードに特殊な値を指定してはなりません。
代わりに、値または戻り値によって渡されるパラメーターには以下のタイプは避けます。
- 長さ 1 の文字 (1A または 1N)
- 長さ 1 の UCS-2 (1C)
- 長さ 1 のグラフィック (1G)
- 4 バイトの浮動 (4F)
- 1 バイトまたは 2 バイトの整数または符号なし (3I、3U、5、または 5U)
- ILE C およびその他の言語を使用して、テラバイト・スペース・メモリーへのポインターを
宣言することができます。ILE C では、このタイプの記憶域をアドレス指定する
のに特別なコンパイル時オプションが必要ですが、ILE RPG は、V4R4M0 またはそれ以
降のターゲット・リリースでコンパイルされれば、必ずこの記憶域をアドレス指定でき
ます。テラバイト・スペース内のポインターの詳細については、「ILE 概念」を
参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.