ページの先頭行へ戻る
Interstage Application Server MessageQueueDirector説明書

6.1.4 プログラムの翻訳/結合

  MQDを使用するアプリケーション(プログラム)を翻訳または結合する場合の留意事項を以下に示します。

  また、Interstageのトランザクション機能を使用する場合は、“アプリケーション作成ガイド(コンポーネントトランザクションサービス編)”および“アプリケーション作成ガイド(データベース連携サービス編)”を参照してください。

  データベースを使用するアプリケーションの翻訳および結合の詳細については、“Symfoware Server RDBユーザーズガイド 応用プログラム開発編”を参照してください。

  翻訳および結合の詳細については、その製品のマニュアルを参照してください。

翻訳

  COBOL言語で作成したプログラムを翻訳する場合は、以下の翻訳オプションを指定します。

  C言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。

  また、C言語で作成したプログラムの場合は、MQDが提供する以下のインクルードライブラリを指定してください。

------------------------------------------
    $MQD\include
------------------------------------------
    $MQD: MQDのインストール先フォルダ

  COBOL言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。

PowerCOBOLの場合

Sun日本語COBOLの場合

  C言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。

  また、C言語で作成したプログラムの場合は、MQDが提供する以下のインクルードライブラリを指定してください。

------------------------------------------
    /opt/FJSVmqd/include
------------------------------------------

注意

  Symfoware/RDBトランザクション連携機能を利用するプログラムのプレコンパイルや翻訳を行う場合は、以下のオプションを指定しないでください。

結合

  プログラムの結合時(COBOL言語の場合は“WINLINK”実行時)には、表6.2 プログラムの結合時に指定するライブラリに示されるライブラリを動的結合してください。

表6.2 プログラムの結合時に指定するライブラリ

言語

ライブラリ名

格納場所

用途説明

COBOL

libmqdcobapi.lib

$MQD\lib

MQDのCOBOL言語用インタフェース(必須)

LIBC.lib

$COBOL

COBOL言語用ライブラリ(必須)

F3BICIMP.lib

$COBOL

COBOL言語用ライブラリ(必須)

C

libmqdapi.lib

$MQD\lib

MQDのC言語用インタフェース(必須)

  $MQD: MQDのインストール先フォルダ

  $COBOL: COBOLのインストール先フォルダ

  プログラムの結合時には、表6.3 プログラムの結合時に指定するライブラリに示されるライブラリを動的結合してください。

表6.3 プログラムの結合時に指定するライブラリ

言語

ライブラリ名

格納場所

用途説明

COBOL
(共通)

libmqdcobapi.so

/opt/FJSVmqd/lib

MQDのCOBOL言語用インタフェース
(必須)

libsqldrv.so(注1)

/opt/FSUNrdb2b/lib

Symfoware/RDBのライブラリ
(Symfoware/RDBトランザクション連携機能を使用する場合)

COBOL
(Sun日本語COBOLの場合追加)

librcobol.so

/opt/FJSVCOBop/lib

COBOLランタイム(Sun日本語COBOLの場合必須)

libthread.so(注2)

/usr/lib

スレッドライブラリ(必須)

libc.so

/usr/lib

Cランタイム(必須)

C

libmqdapi.so

/opt/FJSVmqd/lib

MQDのC言語用インタフェース(必須)

libthread.so(注2)

/usr/lib

スレッドライブラリ(必須)

libc.so

/usr/lib

Cランタイム(必須)

libsqldrv.so(注1)

/opt/FSUNrdb2b/lib

Symfoware/RDBのライブラリ
(Symfoware/RDBトランザクション連携機能を使用する場合)

  注1) libsqldrv.soを指定してください。マルチスレッド用のlibsqldrvm.soを指定しないでください。
  注2) libthread.soは、libc.soよりも前に指定する必要があります。
  なお、メッセージ格納ファイルとしてデータベースを使用する場合、環境変数名“LD_LIBRARY_PATH”にSymfowareおよび標準コード変換機能のライブラリ格納先ディレクトリの絶対パスを指定してください。

  COBOL言語で作成した主プログラムを翻訳および結合する場合の例を以下に示します。

----------------------------------------------------------------------------------
PowerCOBOLの場合
    cobol -M -Tm -WC,"NOALPHAL" -o appl1 -lmqdcobapi appl1.cob
Sun日本語COBOLの場合
    cobol -M -WC,"NOALPHAL" -o appl1 -lthread -lc -lrcobol -lmqdcobapi appl1.cob
----------------------------------------------------------------------------------

  COBOL言語で作成した副プログラムを翻訳および結合する場合の例を以下に示します。

-----------------------------------------------------------------------------
PowerCOBOLの場合
    cobol -c -Tm -WC,"NOALPHAL" appl2.cob
    ld    -G -o libappl2.so  appl2.o -lmqdcobapi
Sun日本語COBOLの場合
    cobol -c -WC,"NOALPHAL" appl2.cob
    ld    -G -o libappl2.so  appl2.o -lthread -lc -lrcobol -lmqdcobapi
-----------------------------------------------------------------------------

  C言語で作成したプログラムを翻訳および結合する場合の例を以下に示します。

----------------------------------------------------------------------------------
    cc -mt -DFSUN -I /opt/FJSVmqd/include -lthread -lc -lmqdapi appl3.c -o appl3
----------------------------------------------------------------------------------