![]() |
![]() |
|
|
idl(1)
名前
idl-Object Management Group (OMG) のインターフェイス定義言語ファイル (IDL: Interface Definition Language) をコンパイルし、インターフェイスに必要なファイルを生成
形式
idl [-i] [-D identifier[=value]] [-I pathname][-h] [-P] [-T]
idl-filename... [ icf-filename...]
機能説明
提供されている idl-filename() ファイルおよびオプションの icf-filename() ファイルを指定すると、idl コマンドは以下のファイルを生成します。
注記 ICF ファイルが指定されている場合は、その ICF ファイル内の情報を基に、インターフェイス/インプリメンテーションに関する情報 (デフォルト値を上書き) がコード・ジェネレータに渡されます。通常、インプリメンテーションの活性化方針およびトランザクション方針は ICF ファイルで指定されます。ICF ファイルが指定されていない場合は、OMG IDL ファイルで指定されるすべてのインターフェイスに対してデフォルトの方針が有効になり、すべてのインターフェイスに対してスケルトン・コードが生成されます。icf-filename ファイルを idl コマンドへの入力として指定すると、icf-filename に指定されたインプリメンテーション/インターフェイスのペアのみが、サーバの一部として生成されます。
IDL コンパイラは、生成するクライアント・スタブの情報を filename_c.cpp ファイルおよび filename_c.h ファイルに格納します。生成されたサーバ・スケルトンの情報は、filename_s.cpp ファイルおよび filename_s.h ファイルに格納されます。
IDL コンパイラは、既に生成されているクライアント・スタブ・ファイル (filename_c.cpp と filename_c.h)、および既に生成されているサーバ・スケルトン・ファイル (filename_s.cpp と filename_s.h) を上書きします。以前のバージョンのファイルはすべて破棄されます。
-i オプションを使用すると、IDL コンパイラはサンプルのインプリメンテーション・クラス定義ファイル (filename_i.h) を上書きします。以前のバージョンのファイルは破棄されます。サンプルのインプリメンテーション・ファイル (filename_i.cpp) も上書きされますが、コード保護ブロック内のコードは上書きされず、新しく生成されるファイルに復元されます。データが失われるのを避けるために、サンプルのインプリメンテーション・ファイル (filename_i.h と filename_i.cpp) を再生成する場合は、あらかじめそれらのファイルを安全な場所にコピーしておくことをお勧めします。
不明なオプションがこのコマンドに渡されると、そのオプションおよび使用方法を知らせるメッセージがユーザに表示され、コンパイルは実行されません。
パラメータ
オプション
注記 idl コマンドに -i オプションを使用してインプリメンテーション・ファイルを更新する場合、次の手順でインプリメンテーション・ファイルを更新します。
- インプリメンテーション・ファイルをバックアップします。
- BEA ObjectBroker から BEA Tuxedo に移行する場合は、生成されているイ ンプリメンテーション・ファイルでコード保護ブロックの区切り文字の "OBB_PRESERVE_BEGIN" および "OBB_PRESERVE_END" を "M3_PRESERVE_BEGIN" および "M3_PRESERVE_END" に変更します。
- インクルード・ファイルをメソッド・インプリメンテーション・ファイル (*_i.cpp) に追加した場合は、そのファイルを編集して、取り込んだ要素 を INCLUDES 保護ブロック内に移動します。
- idl コマンドで -i オプションを使用して、編集したインプリメンテー ション・ファイルを再生成します。
- 再生成する前のインプリメンテーション定義ファイル (*_i.h) に修正を加 えた場合は、新しく生成された定義ファイルにその修正箇所を反映させま す。修正箇所はコード保護ブロック内に配置します。これにより、以降更 新を行ってもその修正箇所は自動的に保護されるようになります。このリ リースでは、インプリメンテーションのコンストラクタ関数およびデスト ラクタ関数の文法が変更されているため注意が必要です。
- メソッド・インプリメンテーション・ファイル (*_i.cpp) の保護ブロック の外側に、またはインプリメンテーションのコンストラクタ関数またはデ ストラクタ関数に修正を加えていた場合は、新しく生成されたファイルを 編集して、その修正箇所を反映させます。修正箇所はコード保護ブロック 内に配置します。これにより、以降更新を行ってもその修正箇所は自動的 に保護されるようになります。
使用例
idl emp.idl
idl emp.idl emp.icf
関連項目
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|