分享方式:


inline_depth pragma

指定內嵌啟發學習法搜尋深度。 呼叫圖形中深度大於指定值的函式不會內嵌。

語法

#pragma inline_depth( [ n ] )

備註

這會 pragma 控制標示 inline 為 和 __inline的內嵌函數內嵌,或自動內嵌在 /Ob 編譯程序選項下。 如需詳細資訊,請參閱/Ob(內嵌函式擴充)。

n 可以是介於 0 到 255 之間的值,其中 255 表示呼叫圖形中的無限深度。 值為 0 會抑制內嵌展開。 如果未 指定 n ,則會使用預設值 254。

控制件 inline_depthpragma 可以展開一系列函式呼叫的次數。 例如,假設內嵌深度為 4。 如果 A 呼叫 B,而 B 接著呼叫 C,則所有三個呼叫都會內嵌展開。 不過,如果最接近的內嵌深度擴充為 2,則只有 A 和 B 會展開,而 C 會維持為函數調用。

若要使用此 pragma,您必須將 /Ob 編譯程式選項設定為 1 或更新版本。 使用 這個 pragma 的深度集會在 之後 pragma的第一個函式呼叫生效。

內嵌深度可以在擴充期間減少,但不會增加。 如果內嵌深度為 6,而且在展開期間,預處理器遇到 inline_depthpragma 值為 8 的 ,深度會維持 6。

inline_depthpragma 標示 __forceinline為的函式沒有任何作用。

注意

遞迴函式可透過內嵌於最大 16 個呼叫深度的方式替代。

另請參閱

Pragma 指示詞和 __pragma_Pragma 關鍵詞
inline_recursion