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_depthpragma 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_depthpragma valore pari a 8, la profondità rimane 6.

Non inline_depthpragma 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

Direttive Pragma e parole __pragma chiave e _Pragma
inline_recursion