共用方式為


/Ob (內嵌函式展開)

控制函式的內嵌展開。

/Ob{0|1|2}

引數

  • 0
    停用內嵌展開。 根據預設,所有函式上的展開都是由編譯器決定,通常稱為「自動內嵌」(Auto-Inlining)。

  • 1
    只能展開標記為 inline__inline__forceinline 的函式,或是類別宣告中所定義之 C++ 成員函式中的函式。

  • 2
    預設值。 可展開標記為 inline、__inline 或 __forceinline 的函式,以及編譯器所選擇的其他任何函式。

    /Ob2 會在使用 /O1、/O2 (最小大小、最快速度)/Ox (完全最佳化) 時生效。

    這個選項需要您使用 /O1/O2/Ox/Og 啟用最佳化。

備註

編譯器會將內嵌展開選項和關鍵字視為建議, 而不會保證以內嵌方式展開所有函式。 您可以停用內嵌展開,但無法強制編譯器內嵌特定函式,即使是使用 __forceinline 關鍵字亦然。

您可以使用 #pragma auto_inline 指示詞,將函式從內嵌展開的候選考量中排除。 另請參閱 #pragma intrinsic 指示詞。

注意事項注意事項

從分析測試回合所收集的資訊會覆寫最佳化,這個最佳化在指定 /Ob/Os/Ot 時才會生效。如需詳細資訊,請參閱特性指引最佳化

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱使用專案屬性

  2. 依序展開 [組態屬性] 和 [C/C++],然後選取 [最佳化]。

  3. 修改 [內嵌函式展開] 屬性。

若要以程式方式設定這個編譯器選項

請參閱

參考

/O 選項 (最佳化程式碼)

編譯器選項

設定編譯器選項