19.2.2 説明
idl2cppコマンドは,IDLファイルを入力として使用し,クライアントおよびサーバ側のためのC++コード,クライアントスタブ,およびサーバスケルトンコードを生成します。
infileパラメタは,C++コードの生成の対象となるIDLファイルを表します。argumentは生成されたコードに対して機能を付加します。
- (Windows)
-
idl2cppコマンドが生成するスタブおよびスケルトンに基づくインプリメンテーションをリンクする場合,-DSTRICTプリプロセサオプションを使用してください。これを使用しないと,リンカは,orb.libにコンストラクタがないことを示すエラーメッセージを表示する場合があります。
- 引数
-
-
-C, -retain_comments
C++コード生成時に,IDLファイルからコメントを引き継ぎます。このオプションを指定しないと,コメントはC++コードに表示されません。デフォルトはoffです。
-
-D, -define foo[=bar]
fooにプリプロセサマクロを定義します。barで値を指定できます。プリプロセサマクロを複数指定するには,-Dfoo=bar -Dhello=world のように-Dオプションを複数回使用してください。
-
-H, -list_includes
インクルードファイルへのパスを標準出力に出力します。デフォルトはoffです。
-
-I, -include <dir>
#include検索用の拡張ディレクトリを指定します。#include検索用の拡張ディレクトリを複数指定するには,-I/home/include -I/app/include のように-Iオプションを複数回使用してください。
-
-P, -no_line_directives
行番号情報の生成を抑止します。デフォルトはoffです。
-
-U, -undefine foo
fooに指定されたプリプロセサマクロの定義を解除します。
-
-client_ext <file_extension>
生成されたクライアントファイルに対して使用するファイル拡張子を指定します。デフォルトの拡張子は_cです。拡張子なしのクライアントファイルを生成するには,<file_extension>の値にnoneを指定してください。
-
-[no_]back_compat_mapping
現バージョンでは,この引数は無効です。以降のバージョンで変更される可能性もあります。
-
-[no_]comments
生成されたコードにコメントを入れることを指定します。デフォルトでは,コメントは生成されたコード中に表示されます。
-
-[no_]idl_strict
IDLソースに,OMG標準規格を指定します。デフォルトではOMG標準規格は使いません。
-
-[no_]obj_wrapper
オブジェクトラッパーサポートでスタブとスケルトンを生成します。また,ほかのすべてのオブジェクトラッパーが継承するベースのタイプドオブジェクトラッパーと,アンタイプドオブジェクトラッパー呼び出しを実行するデフォルトのオブジェクトラッパーを生成します。このオプションが設定されないと,idl2cppは,オブジェクトラッパー用のコードを生成しません。
-
-[no_]preprocess
解析前にIDLファイルの前処理をします。デフォルトはonです。
-
-[no_]preprocess_only
前処理の終了後に,IDLファイルの解析を中止します。このオプションを使用すると,コンパイラで前処理フェーズの結果をstdoutに生成できます。デフォルトはoffです。
-
-[no_]pretty_print
_pretty_printメソッドを生成します。デフォルトはonです。
-
-[no_]servant
サーバ側コードを生成します。デフォルトでは,サーバントが生成されます。
-
-[no_]stdstream
クラスのシグニチャ内に,標準のiostreamクラスを使ったストリーム演算子を生成します。デフォルトはonです。
-
-[no_]tie
_tieテンプレートクラスを生成します。デフォルトでは,_tieクラスが生成されます。
-
-[no_]warn_all
警告をすべて抑止します。デフォルトはoffです。
-
-[no_]warn_missing_define
あらかじめ宣言された名前を定義しなかった場合に警告します。デフォルトはonです。
-
-[no_]warn_unrecognized_pragmas
#pragmaが認識されない場合に警告を生成します。
-
-corba_inc <filename>
生成されたコードに,通常の#include <corba.h>ではなく#include <filename>が挿入されます。デフォルトでは,#include <corba.h>が生成コードに挿入されます。
-
-excep_spec
メソッドの例外仕様を生成します。デフォルトでは,例外仕様は生成されません。
-
-export <tag> (Windows)
生成されたすべてのクライアント側宣言(クラス,関数など)に挿入するタグ名を定義します。idl2cppの起動時に,-export _MY_TAG と指定すると,クラス定義が「class Bank {...}」の代わりに「class _MY_TAG Bank {...}」となります。
デフォルトでは,クライアント側宣言のタグ名は生成されません。
-
-export_skel <tag> (Windows)
生成されたサーバ側の宣言だけに挿入するタグ名を定義します。idl2cppの起動時に-export_skel _MY_TAG と指定すると,クラス定義が「class POA_Bank {...}」の代わりに「class _MY_TAG POA_Bank {...}」となります。
デフォルトでは,サーバ側宣言のタグ名は生成されません。
-
-gen_included_files
#includeファイルのコードの生成を指定します。デフォルトではこのコードは生成されません。
-
-h, -help, -usage, -?
ヘルプ情報を出力します。
-
-hdr_suffix <string>
ヘッダファイル名の拡張子を指定します。デフォルトの拡張子は.hhです。
-
-impl_inherit
インプリメンテーション継承を生成します。デフォルトはoffです。
-
-list_files
コード生成時に書き込まれたファイルのリスト表示を指定します。デフォルトではこのリストは生成されません。
-
-map_keyword <keywrd> <map>
キーワードとして<keywrd>を追加し,表示されたマッピングに対応させます。<keywrd>と矛盾するIDL識別子は,C++で<map>にマッピングされます。これによって,C++コードで使用されるキーワードと名前間で矛盾が発生しないようにします。
すべてのC++キーワードにはデフォルトのマッピングがあります。このようなキーワードは,このオプションを使用して指定する必要はありません。
-
-namespace
モジュールをネームスペースとして実装します。デフォルトはoffです。
-
-root_dir <path>
生成コードが書き込まれるディレクトリを指定します。デフォルトでは,コードはカレントディレクトリに書き込まれます。
-
-server_ext <file_extension>
生成されたサーバファイルに対して使用するファイル拡張子を指定します。デフォルトの拡張子は_sです。拡張子なしのサーバファイルを生成するには,<file_extension>の値にnoneを指定してください。
-
-src_suffix <string>
ソースファイルのファイル拡張子を指定します。デフォルトの拡張子は.ccです。
-
-type_code_info
動的起動インタフェースを使用するクライアントプログラムで必要とされるタイプコード情報を生成できるようになります。詳細については,「23. 動的インタフェースとクラス(C++)」を参照してください。デフォルトでは,タイプコード情報は生成されません。
-
-version
Borland Enterprise Server VisiBrokerのバージョンを表示します。
-
file1 [file2] ...
処理対象のファイルを一つ以上指定します。または,標準入力として「-」を指定します。
-