inline_depth
Specifica il livello di profondità della ricerca euristica inline, ovvero nessuna funzione verrà resa inline se si trova a un livello di profondità (nel grafico delle chiamate) maggiore di n.
#pragma inline_depth( [n] )
Note
Questo pragma controlla l'incorporamento di funzioni contrassegnate con inline e __inline o rese inline automaticamente tramite l'opzione /Ob2.
n può essere un valore compreso tra 0 e 255, dove 255 indica una profondità illimitata nel grafico delle chiamate e zero inibisce l'espansione inline. Se n non è specificato, viene utilizzato il valore predefinito 254.
Il pragma inline_depth controlla il numero di espansioni che possono essere applicate a chiamate di funzione. Se ad esempio il livello di profondità inline è quattro e se A chiama B e B quindi chiama C, tutte le tre chiamate verranno espanse in modalità inline. Tuttavia, se l'espansione inline più vicina è due, vengono espanse solo A e B, mentre C rimane una chiamata di funzione.
Per utilizzare questo pragma, è necessario impostare l'opzione del compilatore /Ob su 1 o 2. Il livello di profondità impostata utilizzando il pragma viene applicato alla prima chiamata di funzione dopo il pragma.
Il livello di profondità inline può essere ridotto durante l'espansione, ma non aumentato. Se il livello di profondità inline è sei e se durante l'espansione nel preprocessore viene rilevato un pragma inline_depth con valore pari a otto, il livello di profondità rimane sei.
Il pragma inline_depth non 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.