/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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱使用專案屬性。
依序展開 [組態屬性] 和 [C/C++],然後選取 [最佳化]。
修改 [內嵌函式展開] 屬性。