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

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

サーバアプリケーションをコンパイル、およびリンクし、デバッグします。

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

サーバ上で、任意のディレクトリに、以下の構成で新規ディレクトリを作成してください。
これらのディレクトリにはユーザライブラリが格納され、配備を行うときに使用されます。

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

それぞれのディレクトリに格納するユーザ作成ライブラリを、以下に示します。

ディレクトリ

格納ファイル

説明

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

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

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

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

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

注意

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

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

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

コンパイルとリンク

Solaris、Linuxの場合

以下ではLinux、およびSolarisでのコンパイル、およびリンクの方法を示します。

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

サーバアプリケーションをリンクする際には、以下のライブラリを使用します。

また、作成したサーバアプリケーションに応じて使用するライブラリを追加してください。

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

プロセスモード版

% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -o serverapl.o serverapl.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -o IDL_apfwskel.o IDL_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 -o libserverapl.so serverapl.o IDL_apfwskel.o IDL_apfwcdr.o


スレッドモード版

% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o serverapl.o serverapl.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o IDL_apfwskel.o IDL_apfwskel.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -m64 -D_REENTRANT -o IDL_apfwcdr.o IDL_apfwcdr.c
% cc -G -D_REENTRANT -xcode=pic32 -m64 -lpthread -L/opt/FJSVibs/lib -lapfwcdr -o libserverapl.so serverapl.o IDL_apfwskel.o IDL_apfwcdr.o

プロセスモード版

% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o serverapl.o serverapl.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o IDL_apfwskel.o IDL_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 -o libserverapl.so serverapl.o IDL_apfwskel.o IDL_apfwcdr.o


スレッドモード版

% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o serverapl.o serverapl.c
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o IDL_apfwskel.o IDL_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 -o libserverapl.so serverapl.o IDL_apfwskel.o IDL_apfwcdr.o
ライブラリの作成単位

前処理、後処理、エラー処理、およびトランザクション後メッセージ編集処理を使用する際に、サーバアプリケーションと別ソースファイルに記述している場合、業務処理のソースファイルと合わせてコンパイルを行い、同一ライブラリ内に格納されるように作成してください。
初期処理、および終了処理は、サーバアプリケーションとは異なるライブラリとして作成します。
初期処理、および終了処理のライブラリを作成するには、業務処理のコンパイル、リンク処理と同様のオプションを指定して作成してください。

ライブラリは、以下に示す単位で作成してください。

ライブラリ

ソースファイル

サーバアプリケーション

ライブラリ

業務処理ソースファイル
前処理ソースファイル(注1)
後処理ソースファイル(注1)
エラー処理ソースファイル(注1)
トランザクション後処理ソースファイル(注1)
サーバアプリケーションのC実行基盤インタフェース(注2)

初期処理ライブラリ

初期処理ソースファイル
初期処理のC実行基盤インタフェース(注2)

終了処理ライブラリ

終了処理ソースファイル
終了処理のC実行基盤インタフェース(注2)

注1)各出口処理を使用する場合で、かつ業務処理と別ソースファイルに記述する場合にだけ指定が必要です。
注2)C実行基盤インタフェースは、以下のソースファイルから構成されます。

Windowsの場合

サーバがWindowsの場合は“Interstage Business Application Server システム設計ガイド”に記載のVisual Studioを使用して、コンパイル、リンク、およびデバッグを行ってください。

インクルードファイルパスには、以下を指定してください。

ライブラリパスには、以下を指定してください。

サーバアプリケーションをリンクする際には、以下のライブラリを使用します。

また、作成したサーバアプリケーションに応じて使用するライブラリを追加してください。

コンパイルを実行する場合は、以下のオプションを設定してください。

カテゴリ

項目

設定値

コード生成

構造体メンバのアライメント

8バイト

使用するランタイム

マルチスレッド(DLL)

最適化

  

デフォルトを推奨

プリプロセッサ

プリプロセッサの定義

"APFW_WIN_BUILD","OM_PC","OM_WIN32_BUILD",
"__STDC__"を追加(注1)

言語

wchar_tをビルトメイン型として扱う

いいえ

詳細

呼び出し規約

_cdecl

注1"__STDC__"を設定することにより、Microsoft拡張機能を前提とする処理でコンパイルエラーが発生する場合があります。この場合、CORBAアプリケーション用の処理とMicrosoft拡張機能を前提とする処理のソースを分けて、Microsoft拡張機能を前提とする処理のソースの先頭に「#undef __STDC__」を追加する対処を行ってください。

注意

  • Visual Studioを使用してコンパイル、リンクした場合は、対応するバージョンのVisual C++再頒布可能パッケージを実行環境にインストールしてください。

デバッグ

サーバアプリケーションをデバッグするには、以下の方法があります。