手持ちの BCB 1.01(BCC 5.2)ならびに BC3.1J (これは 16bit 版)のヘルプを元にしている。
これ以降に追加/変更/削除されたオプションについては一切関知しない。
(ついでに言うと、すべてのオプションを網羅してあるわけでもない)
当然、基本的に無保証。
あしからず。
てゆうか bcc55 のフリー版に入ってるヘルプだとオプションの説明がサッパリ出ねえ。 たぶんアップデート用のでっかいヘルプを落とせば入ってるんだろうけど、ちょっとそれは…。
オプション | 説 明 |
---|---|
|
レスポンスファイル指定。 |
|
環境設定ファイル指定。 (デフォルトは bcc32.cfg) |
|
386 用コード生成。 |
|
486 用コード生成。 |
|
Pentium 用コード生成。 |
|
Pentium Pro 用コード生成。 |
|
ANSI 準拠の予約語のみ使用。 |
|
K&R 準拠の予約語のみ使用。 |
|
Borland の予約語を使用。 |
|
-AT と同じ。 |
|
UNIX system V 準拠の予約語のみ使用。 |
|
バイト単位でアラインメント。 (デフォルト) |
|
ワード単位でアラインメント。 |
|
num バイト単位でアラインメント。 num には 1, 2, 4, 8, 16 が指定可能。 |
|
.ASM 形式で出力し、アセンブラを起動して .obj を生成。 (-E オプション、-S オプションを参照) |
|
列挙 (enum) 型を int にする。 (デフォルト) |
|
列挙 (enum) 型を可能ならバイト型にする。 |
|
コメント(/* 〜 */)のネスティング無効。 (デフォルト) |
|
コメントのネスティング有効。 |
|
文字列のコードページ指定。 codepage は10進数のコードページ値。 (例: |
|
コンパイル(obj 生成)のみ。 |
|
文字列定義。 #define symbol 相当。 |
|
文字列定義。 #define symbol value 相当。 |
|
内容の同じ文字列でもひとまとめにしない。 (デフォルト) |
|
内容の同じ文字列をひとまとめにする。 |
|
アセンブル時に使用するアセンブラ名を指定。 デフォルトは(たぶん) -Etasm32.exe |
|
作成する実行ファイル名を指定。 |
|
浮動小数点演算の使用。 |
|
浮動小数点演算を使用しない。 (浮動小数点演算ライブラリをリンクしない) |
|
高速実数演算モードを使用しない。
(デフォルト)
ANSI 規則に従い、厳密に実数型変換を行う。 |
|
高速実数演算の使用。 |
|
Pentium の FDIV 回避。 |
|
num 個の Warning でコンパイル中断。 デフォルトは -g100 |
|
プリコンパイルヘッダ使用。 (デフォルト) |
|
プリコンパイルヘッダを使用しない。 |
|
filename という名前でプリコンパイルヘッダを生成、使用。 |
|
headername を #include した時点でプリコンパイル停止。 (これってどう指定すればいいの?) |
|
プリコンパイルヘッダをキャッシュする。 (詳しい説明がほとんどないのでよくわからんが、たぶん一時的にメモリに確保するんだと思う。 ユーザーズガイドの「C++Builder のコンパイル時間の最適化」あたりを参照) |
|
外部ファイルを使ってプリコンパイルヘッダを使用可能にする。 (詳細不明。ヘルプのどこを見ればいいですか?) |
|
スマートキャッシュしたプリコンパイルヘッダを使用可能にする。 (詳細不明) |
|
プリコンパイルヘッダを生成しないが、すでに存在すれば利用する。 (プリコンパイルヘッダ名を指定したい場合は、-H=filename と共に使えばいいようだ) |
|
include パスの追加。 |
|
識別子(変数名、関数名その他)を、num 文字分の長さまで認識する。 デフォルトは -i250 |
|
すべてのテンプレートインスタンスの定義を生成し,重複した定義をひとつにまとめる。 (デフォルト) |
|
すべてのテンプレートインスタンスをパブリック定義。 |
|
すべてのテンプレートインスタンスを、外部参照として定義。 |
|
num 個の Error でコンパイル中断。 デフォルトは -j25 |
|
デフォルト文字型は signed char。 (デフォルト) |
|
デフォルト文字型は unsigned char。 |
|
標準スタックフレーム生成。 (デフォルト) |
|
標準スタックフレームを生成しない。 |
|
リンク時のライプラリサーチパスを指定。 |
|
リンカにオプションを渡す。 用例: bcc32 -lt foo.c リンカ ilink32 に -t オプションが渡される。 |
|
リンカへのオプションを抑止。 |
|
リンク時にマップファイル生成。 |
|
ファイル出力パスを指定。 |
|
サイズ重視の最適化。 |
|
実行速度重視の最適化。 |
|
基本ブロック中の重複式を削除。 |
|
すべての最適化オプションを無効化。 |
|
関数のインライン展開。 |
|
命令のスケジューリング。 |
|
ループ内誘導変数と計算量の最適化。 |
|
(たぶん)-O1 と同じ。 |
|
(たぶん)-O2 と同じ。 |
|
作成する obj ファイル名を指定。 |
|
拡張子が .cpp のソースは C++ として、.c のソースは c としてコンパイルする。 拡張子が無指定の場合は .cpp とみなす。 (デフォルト) |
|
すべてのソースを C++ のソースとみなす。 拡張子が無指定の場合は .cpp とみなす。 |
|
すべてのソースを C++ のソースとみなす。
拡張子が無指定の場合は ext とみなす。
例: bcc32 -Pcxx foo bar.c baz.cpp foo.cxx, bar.c, baz.cpp を C++ のソースとしてコンパイルする。 |
|
拡張子が .cpp のソースは C++ として、それ以外は c としてコンパイルする。 拡張子が無指定の場合は ext とみなす。 |
|
関数コール時に、Cの呼出規約 (__cdecl) を使う。 (デフォルト) |
|
関数コール時に、PASCAL の呼出規約 (__pascal) を使う。 |
|
-p- と同じ。 |
|
fastthis 呼出規約を使う。 (C++ の this ポインタをレジスタで渡す) |
|
fastcall 呼出規約 (__fastcall) を使う。 (引数をレジスタで渡す) |
|
stdcall 呼出規約 (__stdcall) を使う。 |
|
obj ファイル中に、オブジェクトブラウザ用の情報を含める。 |
|
実行時型情報を有効にする。 (デフォルト) |
|
(たぶん)実行時型情報を無効にする。 |
|
レジスタ変数を使う。 (デフォルト) |
|
レジスタ変数を使わない。 |
|
register 宣言された変数のみ、レジスタ変数の使用を許可する。 |
|
アセンブラソース出力。 |
|
アセンブラにオプションを渡す。 |
|
すでに指定されているアセンブラオプションを無効化。 |
|
ターゲット指定。 詳細は以下参照。 というかくわしい説明がヘルプにないのでよくわからん。 |
|
Win32 コンソールモード用アプリケーション作成。 (デフォルト) |
|
-tWC と同じらしい。 |
|
Win32 GUI モード用アプリケーション作成。 |
|
Win32 GUI モード用アプリケーション作成。 (16bit 時代は -W と -WE でいちおう違いがあったけど、今時はどうなんですかね。よくわからん) |
|
Win32 DLL 作成。 |
|
Win32 DLL 作成。 (-W, -WE あたりと対応関係は同じだと思う) |
|
マルチスレッド対応。 |
|
文字列定義の抹消。 #undef symbol 相当。 |
|
グローバル識別子の先頭にアンダーラインを付加。 (デフォルト) |
|
グローバル識別子の先頭にアンダーラインを付加しない。 |
|
スマート C++ 仮想テーブル。 (デフォルト) |
|
C++ 仮想テーブルを外部参照として生成。 |
|
C++ 仮想テーブルをパブリック定義。 |
|
for ループ変数のスコープ指定。 |
|
空の基本クラスの長さをゼロにする。 |
|
MFC との互換性考慮。 |
|
旧バージョンとの互換性考慮。 派生クラスのレイアウトを、旧版の Borland C++ と同じ方法で行う。 |
|
デバッグ情報オフ、インライン展開有効。 (たぶんデフォルト) |
|
デバッグ情報オン、インライン展開禁止。 |
|
インライン展開有効。 |
|
インライン展開禁止。 |
|
Warning の表示。 (たぶんデフォルト) |
|
Warning を表示しない。 |
|
コンパイル中に Warning が出た場合、戻り値として 0 以外の値を返す。 |
|
warn_type の警告を有効にする。 |
|
warn_type の警告を無効にする。 |
|
ファイル依存関係情報の生成。 (デフォルト) |
|
ファイル依存関係情報を生成しない。 |
|
例外処理有効。 (デフォルト) |
|
デストラクタ有効。 (デフォルト) |
|
グローバルデストラクタカウンタを使う。 (旧版との互換性。このオプションを指定すると Warning W8035 が出る) |
|
高速例外処理の使用。 |
|
例外発生位置情報の生成。 |
|
行番号情報の生成。 |
|
コードセグメントのクラス名指定。 |
|
未初期化データセグメント (BSS) のクラス名指定。 |
|
コードセグメント名指定。 |
|
未初期化データセグメント (BSS) 名指定。 |
|
未初期化データセグメント (BSS) のグループ名指定。 (たぶん、-zS で指定するグループ名と同じ名前にしないと無意味) |
|
データセグメント名指定。 |
|
データセグメントのグループ名指定。 (-zG 参照) |
|
データセグメントのクラス名指定。 |
その他: