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

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

最適化

オプション

目的

/O1

コードを最小化します。

/O2

コードを最速化します。

/Ob

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

/Od

最適化を無効にします。

/Og

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

/Oi

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

/Os

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

/Ot

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

/Ox

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

/Oy

フレーム ポインターなし (x86 のみ)

/favor

指定したアーキテクチャまたは一連のアーキテクチャ用に最適化されたコードを生成します。

コード生成

オプション

目的

/arch

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

/clr

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

/EH

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

/fp

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

/GA

Windows アプリケーション用に最適化します。

/Gd

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

/Ge

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

/GF

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

/Gh

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

/GH

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

/GL

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

/Gm

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

/GR

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

/Gr

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

/GS

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

/Gs

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

/GT

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

/Gv

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

/Gw

プログラム全体のグローバル データの最適化を有効にします。

/GX

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

/Gy

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

/GZ

高速チェックを有効にします (/RTC1 と同等)。

/Gz

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

/homeparams

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

/hotpatch

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

/Qfast_transcendentals

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

QIfist

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

/Qimprecise_fwaits

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

/Qpar

ループの自動並列化を有効にします。

/Qpar-report

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

/Qsafe_fp_loads

浮動小数点値の整数移動命令を使用し、特定の浮動小数点読み込み最適化を無効にします。

/Qvec-report (自動ベクター化レポート作成レベル)

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

/RTC

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

/volatile

volatile キーワードの解釈方法を選択します。

出力ファイル

オプション

目的

/doc

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

/FA

アセンブリ リスト ファイルを構成します。

/Fa

アセンブリ リスト ファイルを作成します。

/Fd

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

/Fe

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

/Fi

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

/Fm

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

/Fo

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

/Fp

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

/FR /Fr

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

プリプロセッサ

オプション

目的

/AI

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

/C

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

/D

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

/E

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

/EP

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

/FI

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

/FU

#using ディレクティブに渡された場合と同じ方法でファイル名の使用を強制します。

/Fx

挿入されたコードをソース ファイルとマージします。

/I

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

/P

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

/U

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

/u

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

/X

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

言語

オプション

目的

/openmp

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

/vd

隠し vtordisp クラス メンバーの無効と有効を切り替えます。

/vmb

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

/vmg

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

/vmm

多重継承を宣言します。

/vms

単一継承を宣言します。

/vmv

仮想継承を宣言します。

/Z7

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

/Za

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

/Zc

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

/Ze

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

/Zg

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

/ZI

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

/Zi

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

/Zl

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

/Zo

非デバッグ ビルドで最適化されたコードに関する拡張デバッグ情報を生成します。

/Zpn

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

/Zs

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

/ZW

Windows ランタイムで実行する出力ファイルを生成します。

リンク

オプション

目的

/F

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

/LD

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

/LDd

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

/link

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

/LN

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

/MD

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

/MDd

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

/MT

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

/MTd

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

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

オプション

目的

/Y-

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

/Yc

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

/Yd

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

/Yu

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

その他

オプション

目的

/?

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

@

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

/analyze

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

/bigobj

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

/c

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

/cgthreads

最適化およびコード生成に使用する cl.exe スレッド数を指定します。

/errorReport

内部コンパイラ エラー (ICE: Internal Compiler Error) 情報を Visual C++ チームに直接報告できます。

/FC

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

/FS

プログラム データベース (PDB) ファイルへの書き込みを MSPDBSRV.EXE によりシリアル化します。

/H

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

/HELP

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

/J

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

/kernel

コンパイラとリンカーは、Windows カーネルで実行可能なバイナリを作成します。

/MP

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

/nologo

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

/sdl

追加のセキュリティ機能と警告を有効にします。

/showIncludes

コンパイル時にすべてのインクルード ファイルの一覧を表示します。

/Tc /TC

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

/Tp /TP

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

/V

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

/Wall

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

/W

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

/w

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

/WL

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

/Wp64

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

/Yd

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

/Yl

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

/Zm

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

参照

関連項目

コンパイラ オプション

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

その他の技術情報

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