CBLLINK を使用した PL/I DLL のリンク

Windows プラットフォームでは、Enterprise Developer コマンド プロンプトcbllink コマンドを実行して PL/I プログラムを COBOL ルーチンにリンクできます。これにより、PL/I と COBOL のルーチンを簡単に組み合わせることができます。

最初に、cbllink コマンドに送る .def ファイルを作成します。次の例は、I111P00 という名前のプログラムの .def ファイルを示しています。プログラムごとの固有のテキストを太字で示してあります。

LIBRARY "I111P00" BASE=0x61000000
EXPORTS
systemMVS @1
MFOPENPLIINIT @2
MFOPENPLITERM @3
_mFinfo_I111P00=_mFinfo_I111P00 @4

最初の順序は、JCL ベースのプログラムの場合は systemMVS、IMS ベースのプログラムの場合は systemIMS、CICS ベースのプログラムの場合は systemCICS にする必要があります。

さらに、この例で MyDef.def という名前の .def ファイルが現在のディレクトリにあると想定すると、コマンドは次のようになります。

32 ビット システム

set link=/incremental:no -debug 
cbllink I111P00.obj "%MFPLI_PRODUCT_DIR%\lib\mfplimd.lib" 
   "%MFPLI_PRODUCT_DIR%\lib\setupdeffiles.obj" 
   "%MFPLI_PRODUCT_DIR%\lib\dllmain.obj" 
   "%MFPLI_PRODUCT_DIR%\lib\lpimainstub.obj" 
   "%MFPLI_PRODUCT_DIR%\lib\systemmvs.obj" 
   MyDef.def -v -RS -D -OI111P00.dll

64 ビット システム

set link=/incremental:no -debug 
cbllink I111P00.obj "%MFPLI_PRODUCT_DIR%\lib64\mfplimd.lib" 
   "%MFPLI_PRODUCT_DIR%\lib64\setupdeffiles.obj" 
   "%MFPLI_PRODUCT_DIR%\lib64\dllmain.obj" 
   "%MFPLI_PRODUCT_DIR%\lib64\lpimainstub.obj" 
   "%MFPLI_PRODUCT_DIR%\lib64\systemmvs.obj" 
   MyDef.def -v -RS -D -OI111P00.dll