inline_depth
pragma
Specifica la profondità di ricerca euristica inline. Le funzioni a una profondità nel grafico delle chiamate maggiori del valore specificato non sono inline.
Sintassi
#pragma inline_depth(
[ n ])
Osservazioni:
Questo pragma controlla l'inlining di funzioni contrassegnate inline
e __inline
, o inlined automaticamente nell'opzione del /Ob
compilatore. Per altre informazioni, vedere /Ob
(espansione della funzione inline).
n può essere un valore compreso tra 0 e 255, dove 255 indica una profondità illimitata nel grafico delle chiamate. Il valore 0 impedisce l'espansione inline. Quando n non viene specificato, viene usato il valore predefinito 254.
Controlla inline_depth
pragma il numero di volte in cui è possibile espandere una serie di chiamate di funzione. Si supponga, ad esempio, che la profondità inline sia 4. Se A chiama B e B chiama C, tutte e tre le chiamate vengono espanse inline. Tuttavia, se l'espansione di profondità inline più vicina è 2, solo A e B vengono espansi e C rimane come chiamata di funzione.
Per usare questo pragma, è necessario impostare l'opzione del /Ob
compilatore su 1 o versione successiva. Il set di profondità che usa viene pragma applicato alla prima chiamata di funzione dopo .pragma
La profondità inline può essere ridotta durante l'espansione, ma non aumentata. Se la profondità inline è 6 e durante l'espansione il preprocessore rileva un inline_depth
pragma valore pari a 8, la profondità rimane 6.
Non inline_depth
pragma ha alcun effetto sulle funzioni contrassegnate con __forceinline
.
Nota
Le funzioni ricorsive possono essere sostituite inline a un livello di profondità massima di 16 chiamate.
Vedi anche
Pragmadirettive e parole __pragma
chiave e _Pragma
inline_recursion