COBOL2002 XML連携機能ガイド


6.2.3 ダイナミックリンクに対応したCOBOLプログラムの作成

COBOL2002のダイナミックリンク機能を使用する場合,静的なリンクのときは,副プログラムを先にコンパイルし,作成されたインポートライブラリを実行可能ファイル作成時に指定してください。

動的なリンクのときは,インポートライブラリを実行可能プログラム作成時に指定しないでください。

定数指定のCALL文の呼び出しを動的にリンクするときは,-DynamicLink,Callオプションを指定します。

〈この項の構成〉

(1) 副プログラムの作成方法

Windows(x86)の場合
ccbl2002 -OutputFile subprog.dll -Dll,Stdcall subprog.cbl cblxmlrt.lib
Windows(x64)の場合
ccbl2002 -OutputFile subprog.dll -Dll subprog.cbl cblxmlrt.lib

(2) 実行可能ファイル(主プログラム)の作成方法

(a) 静的なリンクの場合

Windows(x86)の場合
ccbl2002 -OutputFile mainprog.exe -Stdcall -Main,System mainprog.cbl subprog.lib
Windows(x64)の場合
ccbl2002 -OutputFile mainprog.exe -Main,System mainprog.cbl subprog.lib
注意事項

COBOL2002の-StdCallオプションで読み込む.cbwファイル(stdcall呼び出し指示ファイル)にXMLアクセスルーチンを指定する場合,XMLアクセスルーチン名に含まれる特殊文字は,COBOL2002のプログラム名の変換規則に従い,変換して指定してください。例えば,ハイフン(-)は下線(_)に変換したXMLアクセスルーチン名を指定してください。

(b) 動的なリンク(定数指定のCALL文での呼び出し)の場合

Windows(x86)の場合
ccbl2002 -DynamicLink,Call -OutputFile mainprog.exe -Stdcall -Main,System mainprog.cbl
Windows(x64)の場合
ccbl2002 -DynamicLink,Call -OutputFile mainprog.exe -Main,System mainprog.cbl
注意事項
  • 動的なリンクを使用する場合,実行時に呼び出し先プログラムの検索方法などを指定してください。動的なリンクについては,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。

  • cblxmlコマンドで生成したXMLアクセスルーチン(COBOL副プログラム)を,-DynamicLink,Callコンパイラオプションを指定してコンパイルしたとき,プログラム実行時に環境変数CBLLDLLにcblxmlrt.dllを指定する必要があります。