/Ob (関数のインライン展開)

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

/Ob{0|1|2}

引数

  • 0
    インライン展開を無効にします。既定では、インライン展開は有効になっています。

  • 1
    inline, __inline, __forceinline または __inline と指定されている関数、またはクラス宣言で定義された C++ メンバー関数だけが展開されます。

  • 2
    inline または __inline と指定されている関数、およびコンパイラが選択した関数が展開されます。この展開はコンパイラの判断で行われるため、自動インライン化とも呼ばれます。

    /O1、/O2 (プログラム サイズ、実行速度) または /Ox (最大限の最適化) を使用するとき、/Ob2 が有効になっています。

    このオプションを指定するには、/O1/O2/Ox、または /Og を使用して最適化を有効にする必要があります。

解説

インライン展開に関するオプションとキーワードは、インライン展開の対象となる候補をコンパイラに示すだけです。 したがって、指定したとおりに関数がインライン展開される保証はありません。 また、特定の関数のインライン展開を強制することもできません。

auto_inline を使用すると、関数をインライン展開の候補から除外できます。 「intrinsic」も参照してください。

注意

プロファイリングのテスト実行から収集される情報により、/Ob/Os、または /Ot を指定する場合に有効な最適化がオーバーライドされます。 詳細については、「ガイド付き最適化のプロファイル」を参照してください。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、「方法 : プロジェクト プロパティ ページを開く」を参照してください。

  2. [C/C++] フォルダーをクリックします。

  3. [最適化] プロパティ ページをクリックします。

  4. [インライン関数の展開] プロパティを変更します。

このコンパイラ オプションをコードから設定するには

参照

参照

/O オプション (コードの最適化)

コンパイラ オプション

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