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

更新 : 2007 年 11 月

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

/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」も参照してください。

47238hez.alert_note(ja-jp,VS.90).gifメモ :

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

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

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

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

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

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

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

参照

参照

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

コンパイラ オプション

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