ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express リファレンスマニュアル(コマンド編)
Interstage

19.4 tdc

名前

tdc  -  TDコンパイラ

形式

  
  tdc [{-c | -cpp | -cobol | -java | -vcpp | -oocob}]
      [{-mc | -mcpp | -mcobol | -mvcpp}]
      [{-create | -update | -delete}] 
      [-D<name>=<Value>] [-I<includedir>] [-T<tmpdir>]
      [{-www | -wwwex}]
      [-R] [-F] [-cdecl][-noex] [-f] [-M システム名]
      [-W<ラッパー定義ファイル名>] [IDL定義ファイル名]

機能説明

TDコンパイラです。
TDコンパイラは指定されたIDL定義ファイルからスタブ、スケルトンのソースファイルを生成します。

以下に、tdcコマンドのオプションおよび引数を説明します。

[マッピング言語オプション(スタブ生成)]

マッピング言語を指定するオプションとして、以下のいずれかが指定可能です。このオプションを複数同時に指定することはできません。


いずれも指定しないと、-cobolが指定されたものとみなされます。


いずれも指定しないと、-cが指定されたものとみなされます。

-c

C言語にマッピングされたスタブなどのファイル生成を行います。

-cpp

C++言語にマッピングされたスタブなどのファイル生成を行います。

-cobol

COBOLにマッピングされたスタブなどのファイル生成を行います。

-oocob

OOCOBOL(オブジェクト指向COBOL)にマッピングされたスタブなどのファイル生成を行います。

-java

Java言語にマッピング(OMG準拠マッピング)されたスタブなどのファイル生成を行います。

-vcpp

Visual C++用にマッピングされたスタブなどのファイル生成を行います。

[マッピング言語オプション(スケルトン生成)]

マッピング言語を指定するオプションとして、以下のいずれかが指定可能です。このオプションを複数同時に指定することはできません。


いずれも指定しないと、-mcobolが指定されたものとみなされます。


いずれも指定しないと、-mcが指定されたものとみなされます。

-mc

C言語にマッピングされたスケルトンなどのファイル生成を行います。

-mcpp

C++言語にマッピングされたスケルトンなどのファイル生成を行います。

-mcobol

COBOLにマッピングされたスケルトンなどのファイル生成を行います。

-mvcpp

Visual C++用にマッピングされたスケルトンなどのファイル生成を行います。

[インタフェース情報の取り扱い]

TDコンパイラで生成したインタフェース情報の取り扱い方法を指定します。すべてのオプションを省略した場合は、-createが指定されたものとします。各オプションの内容を以下に説明します。

-create

インタフェースリポジトリに登録します。すでに同じ識別子が登録されている場合はエラーとなり、TDコンパイラは作業を中止します。

-update

インタフェース情報をインタフェースリポジトリに登録します。すでに同じ識別子が登録されている場合は、インタフェース情報を更新します。IDLファイルを変更した場合には、このオプションを指定する必要があります。

-delete

インタフェース情報をインタフェースリポジトリから削除します。
登録されていない識別子が存在する場合、削除に失敗します。

[クライアントとの連携形態]

コンポーネントトランザクションサービスが提供するクライアントとの連携形態を指定します。両方のオプションを省略した場合、CORBAクライアント連携を使用するものとみなします。各オプションの内容を以下に説明します。


このオプションはInterstage V2.0L20以前の互換用です。


このオプションはInterstage 2.1以前の互換用です。

-www

このオプションを指定すると、WWW基本連携を使用するとみなします。

-wwwex

このオプションを指定すると、WWW簡易アプリケーション連携を使用するとみなします。

[その他のオプション]

-D<name>=<Value>

nameで指定されたマクロを定義します。
IDL定義ファイルの先頭に#define name Valueと定義を行うことと同じ意味を持ちます。
=Valueを省略した場合は、#define nameとして定義されます。

-I<includedir>

#includeで指定したファイルを探すディレクトリのリストにincludedirで指定されたディレクトリを追加します。このオプションは複数定義可能です。その場合、指定された順にディレクトリの検索を行います。

-T<tmpdir>

コンパイラが作業用に作成するテンポラリファイルの位置を指定します。


このオプションを省略した場合は、C:\tempが指定されたものとしま す。


このオプションを省略した場合は、/tmpが指定されたものとします。

-R

-Rオプションを指定した場合、スタブ・スケルトンの生成は行わず、インタフェースリポジトリの登録だけを行います。

-F

-Fオプションを指定した場合、インタフェースリポジトリの登録は行わず、スタブ・スケルトンの生成だけを行います。

-cdecl

INTRA_PROCESS関数を Cの呼び出し規約で呼び出します。このオプションは、マッピング言語がC++(-cpp)のときに有効です。

-noex

例外処理をCORBA::Environment方式で生成します。省略すると、try・catch方式の例外処理となります。


マッピング言語がC++およびVisual C++のときに有効です。

C++言語およびVisual C++を使用する場合は、指定することを推奨します。

マッピング言語がC++のときに有効です。
C++言語を使用する場合は、指定することを推奨します。

-f

このオプションはインタフェース情報チェック機能を使用する場合に指定するオプションです。

-M システム名

拡張システム使用時に対象のシステム名を定義します。このオプションを省略した場合は、デフォルトシステムが対象となります。

-W<ラッパー定義ファイル名>

AIM連携を行う場合に、ラッパー定義ファイル名を指定します。このオプションを省略した場合は、CORBAクライアント連携を行うものとみなします。
  
  

IDL定義ファイル名

IDL定義ファイル名を指定します。このファイル名を省略した場合は、Foo.idlが指定されたものとみなします。

TDコンパイラで生成するファイル名を、以下に示します。


サーバアプリケーション(COBOL)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_オブジェクト名_skel.def

スケルトン用defファイル(注9)(注15)

TD_オブジェクト名_skel.cbl

スケルトンファイル(注4)

TD-オブジェクト名-H.cbl(注1)

ヘッダファイル

TD_オブジェクト名_skel_h.cbl

データ定義型ファイル(注6)

TD_オブジェクト名_skel_alloc.cbl

allocプログラムファイル(注11)

TD_オブジェクト名_skel_allocbuf.cbl

allocbufプログラムファイル(注17)

AIM連携

ファイル名


サーバアプリケーション(C言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_オブジェクト名_skel.c

スケルトンファイル(注4)

TD_オブジェクト名.h

ヘッダファイル

AIM連携

ファイル名


サーバアプリケーション(C言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_オブジェクト名_skel.c

スケルトンファイル

TD_オブジェクト名.h

ヘッダファイル


サーバアプリケーション(C++言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_オブジェクト名_skel_c++.C

スケルトンファイル(注4)

TD_aa.h

ヘッダファイル

TD_aa_c++.C

クラスメソッド定義ファイル

TD_オブジェクト名_proto.h

ヘッダファイル

AIM連携

ファイル名


サーバアプリケーション(C++言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_オブジェクト名_skel_c++.C

スケルトンファイル

TD_aa.h

ヘッダファイル

TD_aa_c++.C

クラスメソッド定義ファイル

TD_オブジェクト名_proto.h

ヘッダファイル


サーバアプリケーション(Visual C++)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

スケルトン側

TD_aa.h

ヘッダファイル

TD_aa_c++.cpp

クラスメソッド定義ファイル

TD_オブジェクト名_proto.h

ヘッダファイル

AIM連携

ファイル名


クライアントアプリケーション(C言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.c

CDRソースファイル

aa_stub.c

スタブファイル(注4)

スケルトン側

AIM連携

ファイル名

属性情報(注2)(注3)(注4)


クライアントアプリケーション(C言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.c

CDRソースファイル

aa_stub.c

スタブファイル

スケルトン側


クライアントアプリケーション(C++言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.H

共通ヘッダファイル

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.c

CDRソースファイル

aa_c++.C

クラスメソッド定義ファイル

aa_stub_c++.C

スタブファイル(注4)

スケルトン側

AIM連携

ファイル名

属性情報(注2)(注3)(注4)


クライアントアプリケーション(C++言語)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.H

共通ヘッダファイル

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.c

CDRソースファイル

aa_c++.C

クラスメソッド定義ファイル

aa_stub_c++.C

スタブファイル

スケルトン側


クライアントアプリケーション(COBOL)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa_h.cbl

共通ヘッダファイル

aa_cdr.cbl

CDRヘッダファイル

aa_cdr.def

defファイル

aa_stub.cbl

スタブファイル(注4)

スケルトン側
(注10)

AIM連携

ファイル種別

属性情報(注2)(注3)(注4)


クライアントアプリケーション(COBOL)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa_h.cbl

共通ヘッダファイル

aa_cdr.cbl

CDRヘッダファイル

aa_cdr.def

defファイル

aa_stub.cbl

スタブファイル

スケルトン側
(注10)


クライアントアプリケーション(Java言語)(注5)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

bb.java

インタフェースクラスファイル(注7)

bbOperations.java

インタフェースOperationsファイル(注7)

bbHelper.java

Helperクラスファイル(注7)

bbHolder.java

Holderクラスファイル(注7)

_bbStub.java

スタブファイル(注7)

bbPOATie.java

tieクラスファイル(注8)

bbPOA.java

スケルトンクラスファイル(注8)

cc.java

データ型クラスファイル(注12)(注13)

ccHelper.java

データ型Helperファイル(注12)(注13)

ccHolder.java

データ型Holderファイル(注12)(注13)

sequence_dd_eeHelper.java

シーケンス型Helperファイル(注14)

sequence_dd_eeHolder.java

シーケンス型Holderファイル(注14)

スケルトン側

AIM連携

ファイル種別

属性情報(注2)(注3)(注4)


クライアントアプリケーション(Java言語)(注5)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

bb.java

インタフェースクラスファイル(注7)

bbOperations.java

インタフェースOperationsファイル(注7)

bbHelper.java

Helperクラスファイル(注7)

bbHolder.java

Holderクラスファイル(注7)

_bbStub.java

スタブファイル(注7)

bbPOATie.java

tieクラスファイル(注8)

bbPOA.java

スケルトンクラスファイル(注8)

cc.java

データ型クラスファイル(注12)(注13)

ccHelper.java

データ型Helperファイル(注12)(注13)

ccHolder.java

データ型Holderファイル(注12)(注13)

sequence_dd_eeHelper.java

シーケンス型Helperファイル(注14)

sequence_dd_eeHolder.java

シーケンス型Holderファイル(注14)

スケルトン側


クライアントアプリケーション(Visual C++)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.cpp

CDRソースファイル

aa_c++.cpp

クラスメソッド定義ファイル

aa_stub.cpp

スタブファイル(注4)

スケルトン側

AIM連携

ファイル種別

属性情報(注2)(注3)(注4)


クライアントアプリケーション(Visual C++)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa.h

共通ヘッダファイル

aa_cdr.h

CDRヘッダファイル

aa_cdr.cpp

CDRソースファイル

aa_c++.cpp

クラスメソッド定義ファイル

aa_stub.cpp

スタブファイル

スケルトン側


クライアントアプリケーション(OOCOBOL)

CORBAクライアント連携

スタブ・スケルトン

ファイル名

ファイル種別

スタブ側

aa--REP.cbl

リポジトリ段落宣言用登録集

aa--CONST.cbl

定数宣言用登録集

aa--COPY.cbl

TYPEDEF型宣言用登録集

オブジェクト名.cob

インタフェースファイル

オブジェクト名--Helper.cob

Helperクラスファイル

オブジェクト名--stub.cob

スタブクラスファイル

オブジェクト名—NarrowStub.cob

Narrowスタブファイル

オブジェクト名-cc.cob

データ型クラスファイル(注16)

オブジェクト名-cc--Helper.cob

データ型Helperファイル(注16)

CORBA-STRING-dd—Helper.cob

データ型Helperファイル(注16)

CORBA-WSTRING-dd—Helper.cob

データ型Helperファイル(注16)

スケルトン側

AIM連携

ファイル種別

属性情報(注2)(注3)(注4)

aa、bb、cc、dd、eeは可変部であり、aaはIDLファイル名、bbはIDLファイル内で定義されているインタフェース名、ccはデータ型名、ddはbound数、eeはクラス名を表しています。

注1)TD-オブジェクト名-H.cblはconstのIDL定義があった場合に生成されます。

注2)各ファイル名の詳細を以下に示します。

注3)属性情報はシステムが管理するため、tdcコマンド投入ディレクトリやIDL定義ファイルが存在するディレクトリには生成されません。

注4)以下のオプションによって生成するファイルが変化します。

注5)Java言語マッピングでは、インタフェースに対応するファイル、インタフェース内のデータ型に対応するファイルが、サブディレクトリ配下に分かれて生成されます。

注6)データ型定義が格納されています。アプリケーション作成時に、必要に応じて参照してください。

注7)tdcコマンドを投入したカレントディレクトリに、IDLファイル内で定義したモジュール名のサブディレクトリが作成され、その配下に生成されます。

注8)生成されますが使用しません。

注9)スケルトン用defファイルは、デフォルトのライブラリ名としてオブジェクト名が登録されていますが、必要に応じて変更してください。

注10)IDLファイル名_cdr.defファイルが生成されますが使用しません。

注11)可変長の構造データを定義した場合に作成されます。

注12)各ファイルは、以下のデータ型が定義された場合に、生成されます。

        cc.java: 構造体型、例外
        ccHelper.java: 構造体型、配列型、sequence型、
                      typedefされたデータ型、例外
        ccHolder.java: 構造体型、配列型、sequence型、例外

注13)各ファイルは、データ型定義がモジュール定義の外に記述された場合はtdcコマンドを投入したカレントディレクトリ、モジュール定義内に記述された場合は注7)で作成されたディレクトリ、インタフェース定義内に記述された場合は、IDLファイル内で定義したインタフェース名+Packageという名前でサブディレクトリが作成され、その配下に生成されます。

注14)シーケンス型を定義した場合に、tdcコマンドを投入したカレントディレクトリに生成されます。

注15)Windows(R)の場合は生成されます。

注16)各ファイルは、以下のデータ型が定義された場合に、生成されます。

        オブジェクト名-cc.cob:可変長string/wstringを含む構造データ型および例外宣言
        オブジェクト名-cc--Helper.cob:固定長/可変長stringのtypedef宣言、
                                        固定長/可変長wstringのtypedef宣言、
                                        固定長/可変長stringを含む構造データ型および例外宣言、
                                        固定長/可変長wstringを含む構造データ型および例外宣言
        CORBA-STRING-dd--Helper.cob:固定長stringのtypedef宣言、
                                        固定長stringを含む構造データ型および例外宣言
        CORBA-WSTRING-dd--Helper.cob:固定長wstringのtypedef宣言、
                                        固定長wstringを含む構造データ型および例外宣言

注17)シーケンス型を定義した場合に生成されます。

注意事項

エラーメッセージ

TDコンパイラが出力するメッセージには2種類の形式があります。出力されたメッセージ形式により詳細情報の参照先が異なります。

使用例

tdc IDL0001.idl

TD_HOME=/opt/FSUNtd
export TD_HOME
OD_HOME=/opt/FSUNod
export OD_HOME
tdc IDL0001.idl

TD_HOME=/opt/FJSVtd
export TD_HOME
OD_HOME=/opt/FJSVod
export OD_HOME
tdc IDL0001.idl