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;
コンパイルおよびリンクするコマンド:
x86 Linux および Solaris の場合:
mfplx mfpl1.pl1 –c -fpcobol ldpli mfcob.cbl mfpl1.o –o mf
AIX の場合:
mfplx mfpl1.pl1 –c –fpcobol cob mfcob.cbl mfpl1.o –o mf –x –lmfpli
Windows の場合:
mfplx mfpl1.pl1 –c -fpcobol cbllink mfcob.cbl mfpl1.obj –omf “%MFPLI_PRODUCT_DIR%”\lib\mfplimd.lib