BCC32.EXE - C++ 32 ビット コマンドライン コンパイラ

提供: RAD Studio
移動先: 案内検索

C++ コンパイラのコマンドライン インターフェイス への移動


BCC32.EXE は、BCC32(32 ビット Windows 用 C++ コンパイラ)のコマンドライン インターフェイスです。

コマンドライン構文

bcc32 [<option>] <filename> [<filename>...]

コマンドライン コンパイラ名、各オプション、ファイル名は、スペースで区切ります。 各オプションの前には、ハイフン(-)またはスラッシュ(/)を付けます。 例:

BCC32 -Ic:\code\hfiles

また、オプションを構成ファイル(.CFG)に指定することもできます(「コンパイラ構成ファイル(.CFG ファイル)の使い方」で説明)。

BCC32 を使うと、.OBJ ファイルを ILINK32 に、あるいは .ASM ファイルを TASM32 に(TASM32 がお使いのマシンにインストールされている場合)渡すことができます。

詳細情報のためのコマンドライン ヘルプの表示

[RAD Studio コマンド プロンプト]ウィンドウで BCC32.exe コマンドライン ヘルプを表示するには、-h コマンドライン オプションを指定します。

たとえば、よく使われるコンパイラ コマンドライン オプションの一覧を表示するには、次のように入力します。

BCC32 -h

表示される一覧で * の付いたオプションは、デフォルトで有効になっているオプションです。

特定オプションとグループ(-Axxx、-Vxxx など)のヘルプの表示

各複数文字オプション -Axxx (言語の互換性と標準への準拠)や -Vxxx (下位互換性)などについてさらに詳しい情報を取得できます。

これを実行するには、-h コマンド ライン オプションをオプション グループの最初の文字に使用します(-Axxx オプションを指定するには -A を使用するなど)。 BCCOSX によりオプションの指定セットに対するヘルプ トピックのみが表示されます(-Axxx-Vxxx-Wxxx など)。

たとえば、-Axxx (言語の互換性と標準への準拠)オプションの説明を表示するには、-h-A コマンド ライン オプションを使用します。

C:\>bcc32 -h -A

デフォルト設定

BCC32.EXE には、デフォルトでオンになっている特定のオプションがあります。 デフォルトのオプションをオフにしたり、構成ファイルのオプションを上書きするには、オプションの後にマイナス記号(-)を付けてください。

拡張子が .CPP のファイルは C++ ファイルとしてコンパイルされます。 拡張子が .C のファイル、拡張子のないファイル、および .CPP、.OBJ、.LIB、.ASM 以外の拡張子を持つファイルは、C ファイルとしてコンパイルされます。

コンパイラは、実行可能ファイルと同じ名前を持ち、拡張子が .DEF であるモジュール定義ファイルとリンクを試みます。

一般的なコンパイラ出力オプション

オプション 説明 詳細

-c

コンパイルして .OBJ を作成します。 リンクは行いません。

指定された .C、.CPP、.ASM ファイルをコンパイル、アセンブルしますが、出力される .OBJ ファイルのリンクは行いません。

-e <ファイル名>

実行可能ファイルの名前を指定します。

ファイルのリンク時に、実行可能ファイルの名前として <ファイル名> を使用します。 このオプションで実行可能ファイルの名前を指定しなかった場合には、リンカは、コマンドに指定された最初のソース ファイルまたはオブジェクト ファイルの名前を元に実行可能ファイルを作成します。

-l <x>

オプションをリンカに引き渡します。

このコマンドライン オプションを指定すると、コンパイル コマンドからリンカに <x> オプションが渡されます。 -l-x コマンドライン オプションを指定すると、特定のリンカ オプションを無効にすることができます。

-m

MAP ファイルを作成します。

このコンパイラ オプションを指定すると、マップ ファイルを作成するようリンカに指示することができます。 「詳細セグメント マップ ファイル」を参照してください。

-o <ファイル名>

コンパイルした .OBJ の名前を <ファイル名> にします。

指定したソース ファイルをコンパイルし、<ファイル名> OBJ という名前に出力します。

-P

C++ コンパイル

コンパイラは、すべてのソース ファイルを拡張子に関係なく C++ ファイルとしてコンパイルします。 -P- を指定すると、すべての .CPP ファイルを C++ ソース ファイルとして、その他のすべてのファイルを C ソース ファイルとしてコンパイルします。 -P コマンドライン オプションを指定すると、コンパイラは、すべてのソース ファイルを C++ ファイルとしてコンパイルします。 このオプションが提供されているのは、C++ コードのデフォルト拡張子として別の拡張子を使用しているプログラマがいるためです。

-tM

マルチスレッド対応のターゲットを生成します。

マルチスレッドの .EXE ファイルまたは .DLL ファイルを作成します。 作成しようとしている 32 ビット アプリケーションの種類を指定するモジュール定義ファイル(.DEF ファイル)をコンパイル コマンドやリンク コマンドに含める場合には、このオプションは必要ありません。

-tR

ターゲットは動的 RTL を使用します。

動的 RTL を使用するアプリケーションを作成します。

-tV

ターゲットは VCL GUI フレームワークを使用します。

-tD

ターゲットは共有ライブラリです。

-tP

パッケージを生成します。

メモ: -t オプションを IDE から使用しないでください。

コンパイラ オプションの優先規則

コマンドライン コンパイラは、左から右の順にオプションを評価し、以下の規則に沿って処理します。

  • オプションが重複する場合には(-D、-I、-L、-U の各オプションを除く)、前のものよりも最後のオプションが優先します。
  • コマンドラインで入力されたオプションが、構成ファイルや応答ファイルのオプションよりも優先されます。 ただし、-D、-I、-L、-U のオプションは例外で、累積的に使われます。

コマンドライン オプションでのディレクトリの指定

C++ コンパイラは、インクルード ファイルやライブラリ ファイルを複数のディレクトリから検索することができます。 ライブラリ ディレクトリ オプション(-L)やインクルード ディレクトリ オプション(-I)の構文を使うと、#define オプション(-D)と同じように、そのオプションを複数並べて指定することができます。 これらのオプションの構文は次のとおりです。

-L <dirname> [<dirname>;...]
-I <dirname> [<dirname>;...]

-L および -I と一緒に使用される <dirname> パラメータには、任意のディレクトリまたはディレクトリ パスを指定できます。 こういった複数のディレクトリをコマンドラインから入力する方法には、次のようなものがあります。

  • 1 つの -L または -I オプションに、複数のエントリをセミコロンで区切って並べる。
BCC32.EXE -L dirname1;dirname2;dirname3 -I include1;include2;include3 myfile.c
  • コマンドラインに、各オプションを複数回指定する。
BCC32.EXE -L dirname1 -L dirname2 -L dirname3 -I include1 -I include2 -I include3 myfile.c
  • 2 つの方法を混ぜて使用する。
BCC32.EXE -L dirname1;dirname2 -Ldirname3 -I include1;include2 -I include3 myfile.c

コマンドラインに複数の -L または -I オプションを並べると、累積的に扱われます。 コンパイラは、並べられたディレクトリを、左から順に、すべて検索します。

コンパイラ構成ファイル(.CFG ファイル)の使い方

ある一揃いのオプションを繰り返して使用するのであれば、毎回コマンドラインで入力するのではなく、構成ファイルに記述することができます。 構成ファイルとは、コマンドライン オプションを含む標準の ASCII テキスト ファイルです。 各オプションは、スペースで区切るか新しい行として記述します。

コンパイル コマンドが発行されると必ず、BCC32.EXE は BCC32.CFG という構成ファイルを探します。 コンパイラは、まずコンパイル コマンドが発行されたディレクトリで、その次にコンパイラが置かれているディレクトリで .CFG ファイルを探します。

デフォルトの .CFG ファイルを使う他に、複数の構成ファイルを作成して使うことができます。

構成ファイルを使用するには、次の構文でコンパイラ オプションを指定します。

+[path]filename

たとえば、次のコマンドラインでは、MYCONFIG.CFG という構成ファイルが使われます。

BCC32 +C:\MYPROJ\MYCONFIG.CFG mycode.cpp

コマンドラインでオプションを入力すると、構成ファイルに保存された設定ではなくコマンドライン オプションが使われます。 ただし、-D、-I、-L、-U のオプションは例外で、入力したものが先頭に追加されます。

応答ファイルの使い方

応答ファイルを使うと、コンパイラ オプションとファイル名の両方を 1 つのファイルに記述することができます(それに対して、構成ファイルではコンパイラ オプションしか記述できません)。 応答ファイルとは、1 つ以上のコマンドライン オプション、ファイル名、もしくはその両方を含む標準の ASCII テキスト ファイルです。 ファイル内の各エントリは、スペースで区切るか新しい行として記述します。 応答ファイルを使うと、コンパイル コマンドを単純化できるだけでなく、ほとんどのオペレーティング システムで許されている以上の長いコマンドラインを発行することができます。

応答ファイルを 1 つ使う場合の構文は次のようになります。

BCC32 @[path]respfile.txt

複数の応答ファイルを使う場合の構文は次のようになります。

BCC32 @[path]respfile.txt @[path]otheresp.txt

応答ファイルの拡張子は、通常は .RSP です。

コマンドラインでオプションを入力すると、応答ファイルのオプションやファイル名ではなくコマンドラインの方が優先されます。 ただし、-D、-I、-L、-U のオプションは例外で、入力したものが先頭に追加されます。

トピック

関連項目