inline_depth
pragma
指定內嵌啟發學習法搜尋深度。 呼叫圖形中深度大於指定值的函式不會內嵌。
語法
#pragma inline_depth(
[ n ])
備註
這會 pragma 控制標示 inline
為 和 __inline
的內嵌函數內嵌,或自動內嵌在 /Ob
編譯程序選項下。 如需詳細資訊,請參閱/Ob
(內嵌函式擴充)。
n 可以是介於 0 到 255 之間的值,其中 255 表示呼叫圖形中的無限深度。 值為 0 會抑制內嵌展開。 如果未 指定 n ,則會使用預設值 254。
控制件 inline_depth
pragma 可以展開一系列函式呼叫的次數。 例如,假設內嵌深度為 4。 如果 A 呼叫 B,而 B 接著呼叫 C,則所有三個呼叫都會內嵌展開。 不過,如果最接近的內嵌深度擴充為 2,則只有 A 和 B 會展開,而 C 會維持為函數調用。
若要使用此 pragma,您必須將 /Ob
編譯程式選項設定為 1 或更新版本。 使用 這個 pragma 的深度集會在 之後 pragma的第一個函式呼叫生效。
內嵌深度可以在擴充期間減少,但不會增加。 如果內嵌深度為 6,而且在展開期間,預處理器遇到 inline_depth
pragma 值為 8 的 ,深度會維持 6。
對 inline_depth
pragma 標示 __forceinline
為的函式沒有任何作用。
注意
遞迴函式可透過內嵌於最大 16 個呼叫深度的方式替代。