Open PL/I を使用して、サポートされている任意のオペレーティング システム上に共有可能ライブラリ (共有ライブラリとも呼ばれる) を作成することができます。
共有可能ライブラリにインクルードできるコードを作成するには、-pic オプションを使用して、位置に依存しないコードを作成するように Open PL/I に指示する必要があります。位置に依存しないコードとしてオブジェクト ファイルを生成したら、ldpli または mfplx に対して -so オプションを使用してオブジェクト ファイルを共有可能ライブラリにリンクします。
ファイル lib1.pli:
library_one: proc; display('This is library routine one'); end;
ファイル lib2.pli:
library_two: proc; display('This is library routine two'); end;
ファイル myprog.pli:
dcl library_one entry; dcl library_two entry; foo: proc options(main); call library_one; call library_two; end;
コンパイルおよびリンクに使用するコマンド:
mfplx –pic –so –omylib.so lib1.pli lib2.pli mfplx –omyprog myprog.pli mylib.so
ファイル myfetch.pli:
myfetch: proc external(‘myfetch’); display(‘Inside fetchable function’); end;
ファイル myprog.pli:
dcl myfetch entry options(fetchable) external(‘myfetch’); foo: proc options(main); call myfetch; end;
コンパイルおよびリンクに使用するコマンド:
mfplx –pic –so –omyfetch.so myfetch.pli mfplx –omyprog myprog.pli