バッチアプリケーションのライブラリの作成は、以下のアプリケーション資産をコンパイル/リンクして作成します。
バッチアプリケーションのC言語プログラム(利用者が作成したヘッダファイルも含む)
C言語実行基盤インタフェース
これらの資材と、バッチアプリケーションのライブラリの関係を示します。
バッチアプリケーションを修正してから、アプリケーション資産をサーバに転送し、コンパイル・リンクを行います。
バッチアプリケーションの修正
作成したバッチアプリケーションにC言語実行基盤インタフェース生成ツールで生成したヘッダファイルのインクルードを追加します。
太字部分を追加します
#include “apfwcom.h” |
アプリケーション資産のサーバへの転送
バッチアプリケーションを作成するために、アプリケーション資産をサーバに転送します。
任意のディレクトリを作成し、以下をサーバに格納します。
バッチアプリケーションのソースファイル
バッチアプリケーションのヘッダファイル
C言語実行基盤インタフェースソースファイル
C言語実行基盤インタフェース共通ヘッダファイル
内部データ用ソースファイル
内部データ用ヘッダファイル
コンパイル・リンク
SolarisおよびLinuxの場合のコンパイル・リンクについて説明します。
プロセスモード版とスレッドモード版では、コンパイルオプションが異なります。
なお、Linuxのコンパイルには、オペレーティングシステムに含まれているコンパイラを使用してください。
バッチアプリケーションをリンクする際には、以下のライブラリをリンクする必要があります。
プロセスモード版:libapfwcdr_nt.so
スレッドモード版:libapfwcdr.so
格納先:/opt/FJSVibs/lib
また、作成したバッチアプリケーションに応じて使用するライブラリを追加してください。
バッチアプリケーションは、64ビットアプリケーションとしてコンパイルしてください。
バッチアプリケーションでライブラリを使用する場合は、64ビットアプリケーションとしてコンパイルしたライブラリを使用してください。
コンパイルおよびリンクの例を示します。例では、以下のファイルおよびパスを使用しています。
バッチアプリケーション:batchapl.c
C言語実行基盤インタフェースソースファイル:IDL_apfwskel.c
C言語実行基盤インタフェース内部データ用ソースファイル:IDL_apfwcdr.c
作成するオブジェクト名:libbatchapl.so
インクルードファイルパス:/opt/FJSVibs/include
ライブラリパス:/opt/FJSVibs/lib
C言語実行基盤インタフェース生成ツール、およびバッチアプリケーションのソースファイルは、同一ディレクトリに格納(ヘッダファイルも同一ディレクトリに格納されているため、インクルードファイルパス指定は“.”になる)
プロセスモードの場合
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -o batchapl.o batchapl.c |
スレッドモードの場合
% cc -c -I/opt/FJSVibs/include -I. -xcode=pic32 -D_REENTRANT -o batchapl.o batchapl.c |
プロセスモードの場合
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -o batchapl.o batchapl.c |
スレッドモードの場合
% gcc -c -I/opt/FJSVibs/include -I. -fPIC -D_REENTRANT -o batchapl.o batchapl.c |
コンパイル・リンク
Windows(R)の場合のコンパイル・リンクについて説明します。
サーバがWindowsの場合はVisual Studio 2005またはVisual Studio 2008を使用して、コンパイル、リンク、およびデバッグを行ってください。
インクルードファイルパスには、以下を指定してください。
インクルードファイルパス:[Interstageのインストールディレクトリ]\BAS\include
ライブラリパスには、以下を指定してください。
ライブラリパス:[Interstageのインストールディレクトリ]\BAS\lib
サーバアプリケーションをリンクする際には、以下のライブラリを使用します。
スレッドモード版:libapfwcdr.lib
また、作成したサーバアプリケーションに応じて使用するライブラリを追加してください。
コンパイルを実行する場合は、以下のオプションを設定してください。
カテゴリ | 項目 | 設定値 |
---|---|---|
コード生成 | 構造体メンバのアライメント | 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 再頒布可能パッケージをインストールしてください。