inline_depth
Gibt die heuristische Inlinesuchtiefe an, sodass keine Funktion "inline" ist, wenn die Tiefe im Aufrufdiagramm größer als n ist.
#pragma inline_depth( [n] )
Hinweise
Dieses Pragma steuert das Inlining von Funktionen, die als inline und __inline markiert wurden, oder für die das Inlining automatisch unter der /Ob2-Option stattfindet.
n kann ein Wert zwischen 0 und 255 sein, wobei 255 unendliche Tiefe im Aufrufdiagramm bedeutet, und NULL die Inlineerweiterung unterdrückt. Wenn n nicht angegeben ist, wird der Standardwert (254) verwendet.
Das Pragma inline_depth steuert, wie oft eine Serie von Funktionsaufrufen erweitert werden kann. Wenn die Inlinetiefe z. B. vier ist und A B aufruft und B dann C, werden alle drei Aufrufe inline erweitert. Wenn jedoch die nächste Inlineerweiterung zwei ist, werden nur A und B erweitert, und C bleibt als Funktionsaufruf bestehen.
Um dieses Pragma verwenden zu können, müssen Sie die /Ob-Compilerfunktion auf 1 oder 2 festlegen. Die bei der Verwendung dieses Pragma festgelegte Tiefe ist beim ersten Funktionsaufruf nach dem Pragma wirksam.
Die Inlinetiefe kann während der Erweiterung verringert, aber nicht erhöht werden. Wenn die Inlinetiefe sechs ist und der Präprozessor während der Erweiterung ein inline_depth-Pragma mit einem Wert von acht antrifft, bleibt die Tiefe sechs.
Das Pragma inline_depth wirkt sich nicht auf Funktionen aus, die mit __forceinline markiert sind.
Hinweis
Rekursive Funktionen können inline in einer maximalen Tiefe von 16 Aufrufen ersetzt werden.