inline_depth
Spécifie la profondeur de recherche heuristique inline, telle qu'aucune fonction ne sera incorporée à une profondeur (dans le graphique des appels) supérieure à n.
#pragma inline_depth( [n] )
Notes
Ce pragma contrôle l'incorporation des fonctions marquées inline et __inline ou incorporées automatiquement sous l'option /Ob2.
n peut être une valeur comprise entre 0 et 255, 255 correspondant à une profondeur illimitée dans le graphique des appels et zéro inhibant l'expansion inline. Lorsque n n'est pas spécifié, la valeur par défaut (254) est utilisée.
Le pragma inline_depth contrôle le nombre de fois qu'une série d'appels de fonction peut être développée. Par exemple, avec une profondeur inline égale à quatre, si A appelle B et B appelle C, les trois appels sont développés inline. Toutefois, si l'expansion inline la plus proche est deux, seuls A et B sont développés, et C demeure comme un appel de fonction.
Pour utiliser ce pragma, vous devez définir l'option /Ob du compilateur sur 1 ou 2. La profondeur définie à l'aide de ce pragma entre en vigueur au premier appel de fonction après le pragma.
La profondeur inline peut être réduite pendant l'expansion, mais pas augmentée. Si la profondeur inline est égale à six et que pendant l'expansion le préprocesseur rencontre un pragma inline_depth ayant pour valeur huit, la profondeur demeure égale à six.
Le pragma inline_depth n'a aucun effet sur les fonctions marquées avec __forceinline.
Notes
Les fonctions récursives peuvent être substituées inline à une profondeur maximale de 16 appels.