Open PL/I は、ネイティブ C コンパイラの命名規則に従います。そのため、Open PL/I でコンパイルされたサブルーチンおよび関数を、C 言語インターフェイスをサポートするサードパーティ ライブラリや、その他の言語と組み合わせることが可能です。Open PL/I のランタイム ライブラリは、最終的に完成するスタンドアロン プログラムにリンクする必要があります。Micro Focus は、COBOL/2 と C 間の言語間呼び出しをすべてドキュメント化しています。通常は、Micro Focus の指示に従って COBOL と C を組み合わせてください。これは、Open PL/I でコンパイルされたモジュールを、C モジュールとして処理するだけです。次のテスト プログラムは、文字列を引数として渡し、PL/I 関数を呼び出す COBOL プログラムの例です。
COBOL ソース コード モジュール:
WORKING-STORAGE SECTION.01 STR PIC X(20). * PROCEDURE DIVISION. CALL-PL1 SECTION. DISPLAY "Calling the PL/I program". CALL "PL1PROC" USING STR. DISPLAY "Return from PL/I program". DISPLAY STR. STOP RUN.
PL/I ソース コード モジュール:
PL1PROC:PROCEDURE ( CHARSTR ); DECLARE CHARSTR CHARACTER(20); CHARSTR = 'This is a real test!'; END PL1PROC;
コンパイルおよびリンクするコマンド:
mfplx mfpll.pl1 -stat -c cob mfcob.cbl mfpl1.o -o mf -v -V -x \ /pl1dir/lib/dflock.o071030 \ /pl1dir/lib/noofm.o071030\ /pl1dir/lib/lpi.a071030
Open PL/I ライブラリの名前と場所は、ご使用の Open PL/I のバージョン固有のものになります。ここでは、一般的なインストールを例にしています。