Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


3.2.2 Windows環境の場合の翻訳と結合

〈この項の構成〉

(1) 手順

CUP作成時の手順を次の図に示します。

図3‒1 CUP作成時の手順

[図データ]

(2) 翻訳と結合

(a) ソースプログラムの翻訳

Windows環境でCUPのオブジェクトファイルを作成するには,Microsoft Visual C++を使用します。翻訳はCLコマンドで実行します。

翻訳時に必須となるオプションを次の表に示します。

表3‒2 翻訳時の必須オプション

クライアント機能

オプション

オプションの意味

TP1/Client/P

/DDCCLTDLL

TP1/Client/P提供のヘッダファイルを展開します。

ソースプログラムを翻訳するときのコマンドの入力例を次に示します。

〈例〉

C言語で作成したCUPのソースプログラム名…

  • cup.c(メイン関数)

  • cupsub1.c(内部関数1)

  • cupsub2.c(内部関数2)

この場合,それぞれのソースプログラムを次のように翻訳します。

 
CL /DDCCLTDLL /c cup.c
CL /DDCCLTDLL /c cupsub1.c
CL /DDCCLTDLL /c cupsub2.c

上記CLコマンドを実行すると,次のオブジェクトファイルが作成されます。

  • cup.obj(メイン関数のオブジェクトファイル)

  • cupsub1.obj(内部関数1のオブジェクトファイル)

  • cupsub2.obj(内部関数2のオブジェクトファイル)

(b) リソース定義ファイルの作成

この例では,リソースとしてアイコンを定義します。リソース定義ファイルcup.rcを次のように作成します。

CUPI   ICON cup.ico

CUPIはアイコンに付けた任意の名称です。

(c) リソースの翻訳

Microsoft Visual C++のリソースコンパイラを使用して,リソース定義ファイル(cup.rc)を次のように翻訳します。

rc /r cup.rc

上記rcコマンドを実行すると,リソースファイルcup.resが生成されます。

(d) モジュール定義ファイルの作成

モジュール定義ファイルcup.defの作成例を次に示します。

NAME        CUPEXEC
HEAPSIZE     1024
STACKSIZE    8192

STACKSIZEは,8192以上を指定してください。

(e) CUPの結合

CUPの実行形式ファイルは,次に示すファイルを結合させて作成します。結合は,LINKコマンドで実行します。

  • CUPのオブジェクトファイル(メイン関数と内部関数)

  • TP1/Client/Pのライブラリ(CLTW32.LIB,CLTWS32.LIBまたはCLTW64.LIB)

  • インポートライブラリ(Windows SDKおよびVisual Studioが提供)

  • Windowsアプリケーション作成用のライブラリ(Windows SDKおよびVisual Studioが提供)

  • モジュール定義ファイル

注※

文字コード変換機能を使用する場合は,CLTCNV32.LIBまたはCLTCNV64.LIBも必要です。