[C++ コンパイラ]
ビルド への移動
プロジェクト > オプション... > ビルド > C++ コンパイラ
このダイアログ ボックスを使用して、C++ のコンパイル オプションを設定します。
オプション | 説明 |
---|---|
[ターゲット]、[適用...]、[保存...] |
「[ターゲット]オプション」を参照。 |
共通項目 |
[C++ コンパイル]オプション
項目 | 説明 | コンパイラ スイッチ | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bcc32 | bcc32c | bcc64 | bcciosarm64 | bccaarm | ||||||||||||||||
[例外を有効にする] |
C++ 例外処理を設定します。このオプションがチェックされていない(-x-)ときにコードの中で例外処理ルーチンを使用しようとすると、コンパイル時にエラー メッセージが生成されます。 このオプションのチェックをはずすと、プログラムから例外処理情報を簡単に取り除くことができます。これは他のプラットフォームまたはコンパイラにコードを移植する場合に便利です。このオプションのチェックをはずすと、例外処理情報のコードがコンパイルされません。例外処理が有効の状態で作成されたオブジェクト ファイルとライブラリ ファイル(C++Builder ランタイム ライブラリなど)をリンクする場合、アプリケーションにはまだ例外処理情報コードを含められます。 デフォルト値は
|
[例外を有効にする] -x [デストラクタによるクリーンアップを行う] -xd [例外プロローグ コードをインライン展開する] -xf [グローバル デストラクタ カウント] -xdg [例外変数を非表示にする] -xv [位置情報] -xp [DLL/MT デストラクタによるクリーンアップを行わない] -xds [例外エピローグ コードをインライン展開しない] -xs |
[例外を有効にする] -fexceptions プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート | ||||||||||||||
[実行時型情報 (RTTI) を有効にする] |
選択すると、コンパイラは、実行時型識別(RTTI: Run-time Type Identification)が可能なコードを生成します。 デフォルト値は |
-RT | -frtti | 該当なし | 該当なし | 該当なし | ||||||||||||||
[メンバの精度を優先する] |
コンパイラは、メンバ ポインタ型の宣言での精度を使用します。派生クラスを指すポインタを単純な基底クラスのメンバを指すポインタに明示的にキャストする(実際には派生クラスのメンバをポイントしているときに)場合に、このオプションを使用します。 デフォルト値は |
-Vmp | プラットフォーム未サポート | プラットフォーム未サポート | プラットフォーム未サポート | プラットフォーム未サポート | ||||||||||||||
[メンバ ポインタ] |
[できるだけ小さい] メンバ ポインタの表現に、特定のクラスのすべてのメンバをポイントできる最も短い表現が使用されます。メンバ ポインタ型を宣言した時点でクラスが完全には定義されていない場合、最も一般的な表現が選択され、警告が表示されます。 [多重継承] [単一継承] [デフォルト]* |
[できるだけ小さい] -Vmd
|
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート | ||||||||||||||
[テンプレート生成] |
[デフォルト] このオプションは、テンプレート インスタンスを生成する最も便利な方法です。 これがデフォルトの設定です。 [外部] |
[デフォルト] -Jgd [外部] -Jgx |
プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート | ||||||||||||||
[仮想テーブル] |
[スマート] [外部] [Public] デフォルト値は |
[スマート] -V [外部] -V0 [Public] -V1 |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
[従来のコンパイラ]
[従来のコンパイラ]オプション | 説明 | コンパイラ スイッチ | ||||
---|---|---|---|---|---|---|
bcc32 | bcc32c | bcc64 | bcciosarm64 | bccaarm | ||
['従来の' Borland コンパイラを使用] |
クラシック BCC32 コンパイラまたは Clang 拡張 C++ コンパイラ BCC32C を、32 ビット Windows プラットフォーム用の C++ コンパイラとして有効にします。 このオプションを使用することで、プロジェクトを BCC32 と BCC32C の間で切り替えることができます。このオプションは次の値に設定することができます。
デフォルト値は[True]です。 |
プラットフォーム未サポート |
プラットフォーム未サポート |
プラットフォーム未サポート |
[コンパイル全般]オプション
[コンパイル全般]オプション | 説明 | コンパイラ スイッチ | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
bcc32 | bcc32c | bcc64 | bcciosarm64 | bccaarm | ||||||||
[宣言された取り得る値の範囲に必要なバイト数だけを列挙型に割り当てる] |
最小サイズの列挙型を使用するよう 64 ビット コンパイラに指示します。 宣言された取り得る値の範囲に必要なバイト数だけを列挙型に割り当てます。 デフォルト値は[ |
[整数サイズの列挙型]オプション |
[整数サイズの列挙型]オプション |
-fshort-enums |
該当なし |
該当なし | ||||||
[呼び出し規約] |
[Pascal] [C] [_msfastcall] [Fastcall (レジスタ)] __pascal、__cdecl、__stdcall キーワードを使用すると、別の呼び出し規約を使用する関数またはサブルーチンを宣言できます。 [stdcall] __cdecl、__pascal、__fastcall キーワードを使用すると、別の呼び出し規約を使用する関数またはサブルーチンを宣言できます。 デフォルト値は[C](-pc)です。 |
[Pascal] |
プラットフォーム未サポート |
プラットフォーム未サポート |
プラットフォーム未サポート -mcdecl プラットフォーム未サポート -mfastcall -mrtd、-mstdcall |
プラットフォーム未サポート -mcdecl プラットフォーム未サポート -mfastcall -mrtd、-mstdcall | ||||||
[データのアラインメント] |
Byte [ダブル ワード] [クワッド ワード] [パラグラフ] デフォルト値は[クワッド ワード](8)です。 |
[バイト] |
-fpack-struct=1 |
該当なし |
該当なし 該当なし 該当なし 該当なし 該当なし |
該当なし 該当なし 該当なし 該当なし 該当なし | ||||||
[C++ のアクセス制御を無効にする] |
アクセス制御を強制しないようコンパイラに指示します。つまり、アクセス可能でないはずの protected または private のメンバに対してアクセスを行った時に、コンパイラがエラーを出力しません。このオプションは、BCC32 では許可されるけれども BCC64 ではアクセス制御違反と見なされるコードがある場合に使用します(それよりも BCC64 の規則に合わせてコードを更新することをお勧めします)。 デフォルト値は[ |
プラットフォーム未サポート |
該当なし |
-fno-access-control |
該当なし | 該当なし | ||||||
[バッチ コンパイルを有効にする] |
バッチ コンパイルを有効にします。 このオプションを[true]にすると、各ソース モジュールが個別にコンパイラに渡されるのではなく、ソース モジュールすべてが同じコマンドラインで C++ コンパイラに渡されます。バッチ コンパイルの場合、ビルド関連のイベントは、個々のファイルではなくバッチ コンパイル全体に対して生成されます。同様に、バッチ コンパイルでは同じ 1 つのプロジェクト オプション セットが使用され、ファイルごとのオーバーライドはできません。 Clang 拡張 C++ コンパイラを使用している場合は、[バッチ コンパイルを有効にする]と[C++ コンパイラを別プロセスで実行する]を組み合わせることで、並列コンパイルを有効にすることができます。32 ビット プラットフォーム向け Clang 拡張コンパイラでは、ファイルがコンパイルに失敗した後にバッチ コンパイルを停止します。 デフォルト値は
|
[エラーの最大数] |
-ferror-limit プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート | ||||||
[拡張エラー情報] |
コンパイラは、詳細なエラー情報を生成します。 デフォルト値は |
-Q |
プラットフォーム未サポート |
プラットフォーム未サポート |
プラットフォーム未サポート | プラットフォーム未サポート | ||||||
[C++ コンパイルを強制する] |
拡張子に関係なくすべてのソース ファイルを C++ ファイルとしてコンパイルさせます。 デフォルト値は |
-P |
-x c++ |
-x c++ |
-x c++ |
-x c++ | ||||||
[命令セット] |
[80386] [80486] [Pentium] [Pentium Pro] デフォルト値は |
プラットフォーム未サポート |
プラットフォーム未サポート |
[80386] |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート | ||||||
[整数サイズの列挙型] |
列挙型(enum 型の変数)に対してワード全体(32 ビットプログラムの場合は 4 バイトの int)を割り当てます。 このオプションを[false]にすると(-bi-)、コンパイラは列挙型の値を保持できる最小の整数を割り当てます。列挙型の値の範囲が 0 ~ 255(最小値)または -128 ~ 127(最大値)の場合は、コンパイラは unsigned または signed の char を割り当てます。列挙型の値が以下の範囲の場合は、unsigned または signed の short を割り当てます。0 ~ 65,535 または -32,768 ~ 32,767。 範囲外の値の場合、列挙型の値であることを表すために 4 バイトの int(32 ビット)を割り当てます。 デフォルト値は |
-bi |
-fshort-enums |
該当なし |
該当なし | 該当なし | ||||||
[整数型の列挙型] |
整数サイズの列挙型(上記の -bi)を有効にして、型チェックの観点から列挙型を整数型として扱います(列挙型の型チェックを実行しません)。 デフォルト値は |
-b |
-fshort-enums |
該当なし |
該当なし | 該当なし | ||||||
[準拠する言語仕様] |
[ANSI] ANSI 準拠のキーワードと拡張キーワードを使用します。C および C++ の ANSI 互換コードがコンパイルされ、移植性が最大になります。ANSI キーワード以外はキーワードとして扱われません。 [GNU] GCC(GNU Compiler Collection)準拠のキーワードと拡張キーワードを使用します(GCC は Free Software Foundation によって配布されているもので、http://gcc.gnu.org/ で入手できます)。__attribute__、__const、__inline__、__signed__ といった GNU 固有のキーワードや拡張キーワードを認識するようコンパイラに指示します。「GNU 属性」を参照。 [K & R] KR 準拠のキーワードと拡張キーワードを使用します。KR 拡張キーワードのみを認識し、C++ 拡張キーワードはすべて標準の識別子として処理するよう、コンパイラに指示します。 [Borland/CodeGear] Borland/CodeGear/Embarcadero の C++ に準拠するキーワードと拡張キーワードを使用します。C 言語キーワード(near、far、huge、asm、cdecl、pascal、interrupt、_export、_ds、 _cs、_ss、 _es など)とレジスタ疑似変数(_AX、_BX など)に対する拡張機能を認識するようコンパイラに指示します。 これがデフォルトの設定です。 [Unix System V] UNIX System V 準拠のキーワードと拡張キーワードを使用します。UNIX V キーワードのみを認識し、Borland/CodeGear/Embarcadero の C++ の拡張キーワードはすべて標準の識別子として処理するよう、コンパイラに指示します。
デフォルト値は |
[ANSI] |
-fno-borland-extensions |
該当なし |
該当なし プラットフォーム未サポート プラットフォーム未サポート 該当なし プラットフォーム未サポート |
該当なし プラットフォーム未サポート プラットフォーム未サポート 該当なし プラットフォーム未サポート | ||||||
[レジスタ変数] |
[None] [明示的] [常に実行] デフォルト値は[None]です。 |
[None] |
プラットフォーム未サポート |
プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート |
プラットフォーム未サポート プラットフォーム未サポート プラットフォーム未サポート | ||||||
[それを超えると停止するエラー出力の最大数を設定する (0 = 制限なし)] |
64 ビット C++ コンパイラで出力可能なエラー数を指定するには、このフィールドの数値を選択し、設定したい数値を入力します。 デフォルト値は[1]です。 |
プラットフォーム未サポート |
該当なし |
-ferror-limit |
該当なし |
該当なし | ||||||
[標準スタック フレーム] |
標準スタック フレーム(関数標準の入口と終了コード)を生成します。呼び出されたサブルーチンのスタックの中をステップするプロセスが簡素化されるので、デバッグには便利です。 このオプションをオフにすると、ローカル変数と引数のない関数が、短縮形のエントリとリターン コードでコンパイルされます。そのため、コードが小さくて速くなります。 デバッグを目的としてソース ファイルをコンパイルする場合は、必ずこのオプションをオンにする必要があります。 デフォルト値は |
-k |
プラットフォーム未サポート |
プラットフォーム未サポート |
プラットフォーム未サポート | プラットフォーム未サポート |