/O オプションは、最大速度でまたは最小サイズのコードを作成するのに役立つさまざまな最適化を制御します。
/O1は、最小サイズのコードを生成する最適化の組み合わせを設定します。/O2は、最大速度でコードを最適化する最適化の組み合わせを設定します。/Obは、関数のインライン展開を制御します。/Odは、コンパイルをスピードアップし、デバッグを簡略化するために最適化を無効にします。/Og(非推奨) は、グローバル最適化を有効にします。/Oiは、適切な関数呼び出しのために組み込み関数を生成します。/Osは、速度の最適化よりサイズの最適化を優先するようコンパイラに指示します。/Ot(既定の設定) は、サイズの最適化より速度の最適化を優先するようコンパイラに指示します。/Oxは、速度に重点を置いていくつかの最適化を選択する組み合わせオプションです。/Oxは、/O2の最適化の厳密なサブセットです。/Oyは、関数呼び出しを迅速にするために呼び出し履歴でフレーム ポインターが作成されないようにします。
解説
複数の /O オプションを 1 つのオプション ステートメントに組み合わせることができます。 例えば、/Odi は /Od /Oi と同じです。 一部のオプションは相互に排他的であり、一緒に使用するとコンパイラ エラーが発生します。 詳細については、個々の /O オプションを参照してください。