Open PL/I と Micro Focus

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 のバージョン固有のものになります。ここでは、一般的なインストールを例にしています。