ページの先頭行へ戻る
Interstage Business Application Server アプリケーション開発ガイド
FUJITSU Software

16.4.6 コンパイル・リンク・デバッグ

業務共通制御をコンパイル、およびリンクし、デバッグします。

ライブラリ格納ディレクトリの作成

サーバ上で、プレロードライブラリ格納ディレクトリ、およびダイナミックロードライブラリ格納ディレクトリと同じ階層に、新規ディレクトリを作成してください。
作成したディレクトリには業務共通制御のライブラリ、および定義ファイルを格納し、配備を行うときに使用されます。

ディレクトリの作成例を示します。

それぞれのディレクトリに格納するユーザ作成ライブラリ、および定義ファイルを、以下に示します。

ディレクトリ

格納ファイル

説明

プレロードライブラリ格納ディレクトリ

プレロード対象のユーザ作成ライブラリ

業務ロジックのライブラリを格納するディレクトリです。
どちらかのディレクトリに、1つ以上のライブラリを配置する必要があります。

ダイナミックロードライブラリ格納ディレクトリ

ダイナミックロード対象のユーザ作成ライブラリ

業務共通制御格納ディレクトリ

業務共通制御のライブラリ、業務共通制御アプリケーションインタフェース定義ファイル、および制御アプリケーション定義ファイル

業務共通制御のライブラリ、および定義ファイルを格納するディレクトリです。

注意

  • 初期処理および終了処理を含むユーザ作成ライブラリは、業務共通制御ライブラリ格納ディレクトリ、またはプレロードライブラリ格納ディレクトリに格納してください。

  • アプリケーション配備で指定可能な関数、およびサーバアプリケーションの個数は、1~1000個までです。

  • プレロード、およびダイナミックロードの詳細については、“Interstage Business Application Server 解説書”の“ライブラリのロード”を参照してください。

  • 業務共通制御アプリケーションインタフェース定義ファイル、および制御アプリケーション定義ファイルは、業務共通制御ライブラリと同じディレクトリに格納してください。

コンパイルとリンク

プロセスモード版とスレッドモード版では、コンパイルオプションが異なります。なお、Linux版のコンパイルには、OSに含まれているコンパイラを使用してください。

注意

プロセスモードを使用できるのは、SolarisおよびLinuxだけです。

業務共通制御をリンクする際には、以下のライブラリを使用します。

業務共通制御APIをリンクする際には、以下のライブラリを使用します。

また、作成した業務共通制御に応じて使用するライブラリを追加してください。

コンパイルおよびリンクの例を示します。例では、以下のファイルおよびパスを使用しています。

プロセスモード版

% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -o settarget.o settarget.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -o APFW_SET_TARGET_apfwskel.o APFW_SET_TARGET_apfwskel.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -o IDL_apfwcdr.o IDL_apfwcdr.c
% cc -G -xcode=pic32 -m64 -L/opt/FJSVibs/lib -lapfwcdr_nt -lapfwsctxt_nt -o libsettarget.so settarget.o APFW_SET_TARGET_apfwskel.o IDL_apfwcdr.o


スレッドモード版

% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o settarget.o settarget.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o APFW_SET_TARGET_apfwskel.o APFW_SET_TARGET_apfwskel.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o IDL_apfwcdr.o IDL_apfwcdr.c
% cc -G -xcode=pic32 -m64 -D_REENTRANT -lpthread -L/opt/FJSVibs/lib -lapfwcdr -lapfwsctxt -o libsettarget.so settarget.o APFW_SET_TARGET_apfwskel.o IDL_apfwcdr.o

プロセスモード版

% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o settarget.o settarget.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o APFW_SET_TARGET_apfwskel.o APFW_SET_TARGET_apfwskel.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o IDL_apfwcdr.o IDL_apfwcdr.c
% gcc -shared -lnsl -fPIC -L/opt/FJSVibs/lib -lapfwcdr_nt -lapfwsctxt_nt -o libsettarget.so settarget.o APFW_SET_TARGET_apfwskel.o IDL_apfwcdr.o


スレッドモード版

% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o settarget.o settarget.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o APFW_SET_TARGET_apfwskel.o APFW_SET_TARGET_apfwskel.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o IDL_apfwcdr.o IDL_apfwcdr.c
% gcc -shared -lpthread -lnsl -fPIC -D_REENTRANT -L/opt/FJSVibs/lib -lapfwcdr -lapfwsctxt -o libsettarget.so settarget.o APFW_SET_TARGET_apfwskel.o IDL_apfwcdr.o
ライブラリの作成単位

業務共通制御のライブラリは、任意の単位で作成することができます。各業務共通制御を1つのライブラリにまとめて作成することも、複数のライブラリに分けて作成することも可能です。
ただし、各業務共通制御と、それに対応した業務共通制御用の実行基盤インタフェースは、同一ライブラリ内に格納されるように作成してください。

以下に例を示します。

作成単位

ソースファイル

各業務共通制御を1つのライブラリにまとめて作成

振分け制御ソースファイル(注1)
業務前制御ソースファイル(注1)
業務後制御ソースファイル(注1)
結果編集制御ソースファイル(注1)
振分け制御用の実行基盤インタフェースソースファイル
業務前制御用の実行基盤インタフェースソースファイル
業務後制御用の実行基盤インタフェースソースファイル
結果編集制御用の実行基盤インタフェースソースファイル
業務共通制御の内部データ用ソースファイル

各業務共通制御でライブラリを分けて作成

振分け制御ソースファイル
振分け制御用の実行基盤インタフェースソースファイル
業務共通制御の内部データ用ソースファイル

業務前制御ソースファイル
業務前制御用の実行基盤インタフェースソースファイル
業務共通制御の内部データ用ソースファイル

業務後制御ソースファイル
業務後制御用の実行基盤インタフェースソースファイル
業務共通制御の内部データ用ソースファイル

結果編集制御ソースファイル
結果編集制御用の実行基盤インタフェースソースファイル
結果編集制御の内部データ用ソースファイル

注1)各制御ロジックをそれぞれ別のソースファイルに記述した場合の例です。

デバッグ

業務共通制御をデバッグするには、以下の方法があります。