3.4 サンプルプログラム
ここでは,Windows版OpenTP1のサンプルプログラムについて,UNIX版OpenTP1との差異を開発言語別に説明します。サンプルプログラムそのものについては,OpenTP1シリーズのマニュアルを参照してください。
- <この節の構成>
- (1) C言語の場合
- (2) COBOL言語の場合
(1) C言語の場合
C言語のサンプルプログラムには,UNIX版OpenTP1との次のような差異があります。
- %DCDIR%¥examples¥base¥confにある各サンプルのユーザサービス定義ファイルの名前は,bsespp_c(SPP),bsesup_c(SUP)です。各サンプルを起動するときのdcsvstartコマンドの引数にはこのファイル名を指定してください。
- UNIX版OpenTP1で提供しているchconf(定義ファイル修正コマンド),bkconf(chconfで変更した定義ファイルを元に戻すコマンド)は,Windows版OpenTP1では提供していません。
- Visual Studioを使用してサンプルプログラムを作成する場合,次のメッセージが出力されることがあります。
「LINK : warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。」
このメッセージが出力された場合,/NODEFAULTLIBオプションを使用し,必ずランタイムライブラリmsvcrt.libだけがリンケージされるようにしてください。複数種類のランタイムライブラリがリンケージされたプログラムは,予期しない動作を起こすことがあります。
(2) COBOL言語の場合
COBOL言語のサンプルプログラムには,UNIX版OpenTP1との次のような差異があります。
- %DCDIR%¥examples¥base¥confにある各サンプルのユーザサービス定義ファイルの名前は,bsespp_b(SPP),bsesup_b(SUP)です。各サンプルを起動するときのdcsvstartコマンドの引数にはこのファイル名を指定してください。
- UNIX版OpenTP1で提供しているchconf(定義ファイル修正コマンド),bkconf(chconfで変更した定義ファイルを元に戻すコマンド)は,Windows版OpenTP1では提供していません。
- 各UAPを作成する場合には,次のようにコマンドを実行してください。
- COBOL2002を使用する場合は,nmakeと入力してください。
- Net Expressを使用する場合は,nmake -f make_mfと入力してください。Net Expressのlinkコマンドが,warning LNK4044メッセージを出力することがありますが,動作に問題ありません。
- COBOL言語のサンプルプログラムの引数の数値データ形式には,COMPではなくCOMP-5を使用しています。COBOL2002でCOMP-5を使用する場合には,-Comp5オプションを指定してコンパイルする必要があります。Net Expressを使用する場合,COMP-5以外を使用すると正常に動作しません。