コンパイラ オプション一覧 (カテゴリ別)

ここでは、コンパイラ オプションのカテゴリ別の一覧が含まれています。アルファベット順の一覧については、コンパイラ オプション一覧 (アルファベット順)を参照してください。

[最適化]

オプション

目的

/O1

コードを最小化します。

/O2

コードを最速化します。

/Ob

関数のインライン展開を制御します。

/Od

最適化を無効にします。

/Og

グローバル最適化を使用します。

/Oi

組み込み関数を生成します。

/Os

実行可能ファイルで、サイズの小ささを優先させます。

/Ot

実行可能ファイルで、実行速度を優先させます。

/Ox

最大限の最適化 (/Ob2 ~ /Gs) を行います。

/Oy

フレーム ポインターを省略します。(x86 のみ)

コード生成オプション

オプション

目的

/arch

コード生成に SSE または SSE2 命令を使用します。(x86 のみ)

/bigobj

.obj ファイル内のアドレス指定可能なセクションの数を増やします。

/clr

共通言語ランタイムで実行する出力ファイルを作成します。

/EH

例外処理のモデルを指定します。

/favor

特定の x64 アーキテクチャ、または AMD64 アーキテクチャおよび Extended Memory 64 Technology (EM64T) アーキテクチャの両方のマイクロアーキテクチャの仕様に合わせて最適化されるコードを作成します。

/fp

浮動小数点の動作を指定します。

/G1

Itanium プロセッサ用に最適化します。IPF クロス コンパイラまたは IPF ネイティブ コンパイラだけで使用できます。

/G2

Itanium2 プロセッサ用に最適化します。IPF クロス コンパイラまたは IPF ネイティブ コンパイラだけで使用できます。

/Gd

呼び出し規約 __cdecl を使用します。(x86 のみ)

/Ge

スタック プローブをアクティブにします。

/GF

文字列プールを有効にします。

/Gh

フック関数 _penter を呼び出します。

/GH

フック関数 _pexit を呼び出します。

/GL

プログラム全体の最適化を有効にします。

/Gm

簡易リビルドを有効にします。

/GR

ランタイム型情報 (RTTI: Run-Time Type Information) を有効にします。

/Gr

呼び出し規約 __fastcall を使用します。(x86 のみ)

/Gs

スタック プローブを制御します。

/GT

静的スレッド ローカル ストレージを使用して割り当てられたデータに対して、ファイバー保護をサポートします。

/GX

同期例外処理を有効にします。

/Gy

関数レベルのリンクを有効にします。

/Gz

呼び出し規約 __stdcall を使用します。(x86 のみ)

/MD

MSVCRT.lib を使用してマルチスレッド DLL を作成します。

/MDd

MSVCRTD.lib を使用して、デバッグ バージョンのマルチスレッド DLL を作成します。

/MT

LIBCMT.lib を使用してマルチスレッド実行可能ファイルを作成します。

/MTd

LIBCMTD.lib を使用して、デバッグ バージョンのマルチスレッド実行可能ファイルを作成します。

/Qfast_transcendentals

高速超越関数を生成します。

/Qimprecise_fwaits

try ブロックの中にある fwait コマンドを削除します。

/Qpar

#pragma loop() ディレクティブでマークされているループで自動並列化を有効にします。

/Qvec-report (Auto-Vectorizer Reporting Level)

自動ベクター化のレポートのレベルを有効にします。

/ZW

出力ファイルを Windows ランタイムで実行するようになります。

出力ファイル

オプション

目的

/FA

アセンブリ一覧のファイルを構成できます。

/Fa

アセンブリ一覧のファイルを作成します。

/Fd

プログラム データベース ファイルの名前を変更します。

/Fe

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

/Fi

プリプロセス済みの出力ファイル名を指定します。

/Fm

マップファイルを作成します。

/Fo

オブジェクト ファイルを作成します。

/Fp

プリコンパイル済みヘッダー ファイルの名前を指定します。

/FR/Fr

ブラウザー ファイルを生成します。

/Fx

挿入されたソース ファイルはマージによってコードします。

デバッグ

オプション

目的

/GS

セキュリティ チェックのバッファーの。

/GZ

/RTC1 と同じです。

/homeparams

関数の実行に入ったときに、レジスタで渡されたパラメーターを、強制的にスタック内のその場所に書き込みます。これは、x64 コンパイラ (ネイティブ コンパイルおよびクロス コンパイル) だけで使用されるコンパイラ オプションです。

/RTC

ランタイム エラー チェックを有効にします。

/Wp64

64 ビット移植性の問題を検出します。

/Yd

すべてのオブジェクト ファイルに、詳細なデバッグ情報を取り込みます。

/Yl

デバッグ ライブラリの作成時に PCH の参照を挿入します。

/Z7

C 7.0 互換のデバッグ情報を生成します。

/Zi

詳細なデバッグ情報を生成します。

/ZI

エディット コンティニュと互換性のあるプログラム データベースにデバッグ情報を含めます。(x86 のみ)

プリプロセッサ

オプション

目的

/AI

#using ディレクティブに渡されたファイル参照を解決するために検索するディレクトリを指定します。

/C

プリプロセス時にコメントを保持します。

/D

定数とマクロを定義します。

/E

プリプロセッサ出力を標準出力にコピーします。

/EP

プリプロセッサ出力を標準出力にコピーします。

/FI

指定したインクルード ファイルをプリプロセスします。

/FU

#using ディレクティブに渡されるように、ファイル名の使用を強制します。

/I

ディレクトリ内でインクルード ファイルを検索します。

/P

プリプロセッサ出力をファイルに書き込みます。

/U

1 つの定義済みマクロを削除します。

/u

すべての定義済みマクロを削除します。

/X

標準のインクルード ディレクトリを無視します。

言語

オプション

目的

/openmp

ソース コードで #pragma omp を有効にします。

/vd

隠し vtordisp クラスのメンバーを抑制して有効にします。

/vmb

メンバーへのポインターに対して、最適なクラスを使用します。

/vmg

メンバーへのポインターに対して、ジェネリック クラスを使用します。

/vmm

多重継承を宣言します。

/vms

単一継承を宣言します。

/vmv

仮想継承を宣言します。

/volatile

volatile キーワードがどのように解釈されるかを選択します。

/Za

言語拡張機能を無効にします。

/Zc

/Ze の標準動作を指定します。

/Ze

言語拡張機能を有効にします。

/Zg

関数プロトタイプを生成します。

/Zl

.obj ファイルから既定のライブラリ名を削除します。

/Zpn

構造体メンバーをパックします。

/Zs

構文だけをチェックします。

リンク

オプション

目的

/F

スタック サイズを設定します。

/LD

ダイナミック リンク ライブラリを作成します。

/LDd

デバッグ バージョンのダイナミック リンク ライブラリを作成します。

/LN

MSIL モジュールを作成します。

/link

指定したオプションを LINK に渡します。

/MD

MSVCRT.lib を使用してマルチスレッド DLL をコンパイルして作成します。

/MDd

MSVCRTD.lib を使用して、デバッグ バージョンのマルチスレッド DLL をコンパイルして作成します。

/MT

LIBCMT.lib を使用してマルチスレッド実行可能ファイルをコンパイルして作成します。

/MTd

LIBCMTD.lib を使用して、デバッグ バージョンのマルチスレッド実行可能ファイルをコンパイルして作成します。

プリコンパイル済みヘッダー オプション

オプション

目的

/Y-

現在のビルドで、他のすべてのプリコンパイル済みヘッダー コンパイラ オプションを無視します。

/Yc

プリコンパイル済みヘッダー ファイルを作成します。

/Yd

すべてのオブジェクト ファイルに、詳細なデバッグ情報を取り込みます。

/Yu

ビルド時にプリコンパイル済みヘッダー ファイルを使用します。

[その他]

オプション

目的

/?

コンパイラ オプションのリストを出力します。

@

応答ファイルを指定します。

/analyze

コード分析を有効にします。

/c

リンクを行わないでコンパイルします。

/doc

ドキュメント コメントを XML ファイルに出力します。

/errorReport

Visual C++ チームにコンパイラ エラーの (ICE) の内部情報を直接作成できるようになります。

/FC

診断テキストで cl.exe に渡されるソース・コード ファイルの完全パスを表示します。

/H

外部名 (パブリック名) の長さを制限します。

/HELP

コンパイラ オプションのリストを出力します。

/hotpatch

ホットパッチ可能なイメージを作成します。

/J

既定の char 型を変更します。

/kernel

コンパイラおよびリンカーでは、Windows のカーネルで実行できる binary を作成します。

/MP

複数のソース ファイルを同時にビルドします。

/nologo

著作権情報を表示しません。

QIfist

浮動小数点型から整数型への変換が必要なときには、ヘルパー関数 _ftol を呼び出しません。(x86 のみ)

/QIPF_B

B CPU ステップ実行のエラーに従って、予測できない結果を招く命令のシーケンスを生成しません (IPF のみ)。

/QIPF_C

C CPU ステップ実行のエラーに従って、予測できない結果を招く命令のシーケンスを生成しません (IPF のみ)。

/QIPF_fr32

上位の 96 ビットの浮動小数点レジスタを使用しません (IPF のみ)。

/QIPF_noPIC

位置に依存するコードを持つイメージを生成します (IPF のみ)。

/QIPF_restrict_plabels

実行時に関数を作成しないプログラムのパフォーマンスを向上します (IPF のみ)。

/showIncludes

すべてのリストが含まれますコンパイル時にインクルード ファイルが表示されます。

/Tc/TC

C ソース ファイルを指定します。

/Tp/TP

C++ ソース ファイルを指定します。

/V

バージョン文字列を設定します。

/Wall

既定で無効にされた警告も含めてすべての警告を有効にします。

/W

警告レベルを設定します。

/w

すべての警告を無効にします。

/WL

コマンド ラインから C++ ソース コードをコンパイルするときに、エラー メッセージと警告メッセージの 1 行診断を有効にします。

/Zm

プリコンパイル済みヘッダーのメモリ割り当て制限を指定します。

参照

関連項目

コンパイラ オプション

コンパイラ オプションの設定

その他の技術情報

C/C++ ビルドのリファレンス