リンク
- COBOL と C のオブジェクト コードを一緒に使用する場合は、COBOL と C の実行可能ファイルを別々にビルドして維持し、インポート ライブラリと Micro Focus の COBOL を呼び出すための C 関数 (製品ヘルプの「COBOL
を呼び出す C 関数」を参照) を使用してそれらの間の呼び出しを解決することをお勧めします。
COBOL エントリ ポイントの直接の呼び出し
注: リトルエンディアンの PowerLinux プラットフォームでは次の手順を実施する必要がありますが、これは他のプラットフォームでも有用なプログラミング方法です。本トピックの COBOL エントリ ポイントへの参照には、PROCEDURE DIVISION
ヘッダーおよび ENTRY 文の両方が含まれます。
cobcall() または cobfunc() を使用するのではなく、C から直接 COBOL エントリ ポイントを呼び出して、エントリ ポイントで指定されているパラメーターより少ないパラメーターを渡す場合 (つまり、正式なパラメーターよりも実際のパラメーターが少ない場合)、C から呼び出される
COBOL エントリ ポイントは次のいずれかになります。
- 関数プロトタイプを持つ C プログラムでは宣言されない
- 変数のパラメーター リストを持つ関数プロトタイプを使って C プログラムで宣言される (下記参照)
例
次のエントリ ポイントを定義した COBOL プログラムを使用するとします。
entry "bob" using arg1 arg2 arg3 arg4 arg5 arg6
arg7 arg8 arg9.
また、C プログラムに次のようなコードが含まれているとします。
i = bob(&x1, &x2);
この場合、C プログラムでこの COBOL エントリ ポイントを宣言するには、次のようにします。
int bob(void *arg1, void *arg2,...);