ページの先頭行へ戻る
Interstage Job Workload Server V9.3.0 バッチ開発ガイド
Interstage

6.2.4 C言語アプリケーションのライブラリの作成

バッチアプリケーションのライブラリの作成は、以下のアプリケーション資産をコンパイル/リンクして作成します。


これらの資材と、バッチアプリケーションのライブラリの関係を示します。

6.2.4.1 バッチアプリケーションライブラリの作成

バッチアプリケーションを修正してから、アプリケーション資産をサーバに転送し、コンパイル・リンクを行います。

バッチアプリケーションの修正

作成したバッチアプリケーションにC言語実行基盤インタフェース生成ツールで生成したヘッダファイルのインクルードを追加します。


太字部分を追加します

#include “apfwcom.h”
#include “apfw_cdr_lib.h”
#include “AAA_apfw.h” /* C言語実行基盤インタフェース共通ヘッダファイル */

int func1()
{
    ・・・
    return(0);
}

アプリケーション資産のサーバへの転送

バッチアプリケーションを作成するために、アプリケーション資産をサーバに転送します。
任意のディレクトリを作成し、以下をサーバに格納します。

コンパイル・リンク

SolarisおよびLinuxの場合のコンパイル・リンクについて説明します。

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

バッチアプリケーションをリンクする際には、以下のライブラリをリンクする必要があります。

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



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


プロセスモードの場合

% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o batchapl.o batchapl.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o IDL_apfwskel.o IDL_apfwskel.c
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o IDL_apfwcdr.o IDL_apfwcdr.c
% cc -G -xcode=pic32 -L/opt/FJSVibs/lib -lapfwcdr_nt -o libbatchapl.so batchapl.o IDL_apfwskel.o IDL_apfwcdr.o

スレッドモードの場合

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


プロセスモードの場合

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

スレッドモードの場合

% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o batchapl.o batchapl.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 libbatchapl.so batchapl.o IDL_apfwskel.o IDL_apfwcdr.o

コンパイル・リンク

Windows(R)の場合のコンパイル・リンクについて説明します。

サーバがWindowsの場合はVisual Studio 2005またはVisual Studio 2008を使用して、コンパイル、リンク、およびデバッグを行ってください。

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

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

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

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

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

カテゴリ

項目

設定値

コード生成

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

4バイト

使用するランタイム

マルチスレッド(DLL)

最適化

-

デフォルトを推奨

プリプロセッサ

プリプロセッサの定義

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

言語

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

いいえ

詳細

呼び出し規約

_cdecl

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


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