inline_depth
pragma
Gibt die Inline-Heuristik-Suchtiefe an. Funktionen in einer Tiefe im Aufrufdiagramm, die größer als der angegebene Wert sind, werden nicht inlineiert.
Syntax
#pragma inline_depth(
[ n ])
Hinweise
Dadurch pragma wird die Inlineierung von Funktionen gesteuert, die markiert inline
und __inline
oder automatisch unter der /Ob
Compileroption inlineiert werden. Weitere Informationen finden Sie unter (Erweiterung der Inlinefunktion).For more information, see /Ob
(Inline function expansion).
n kann ein Wert zwischen 0 und 255 sein, wobei 255 eine unbegrenzte Tiefe im Anrufdiagramm bedeutet. Ein Wert von 0 hemmt die Inlineerweiterung. Wenn n nicht angegeben ist, wird der Standardwert 254 verwendet.
Die inline_depth
pragma Steuerelemente steuern, wie oft eine Reihe von Funktionsaufrufen erweitert werden kann. Angenommen, die Inlinetiefe ist 4. Wenn A B und B dann C aufruft, werden alle drei Anrufe inline erweitert. Wenn die nächste Inlinetiefeerweiterung jedoch 2 ist, werden nur A und B erweitert, und C bleibt als Funktionsaufruf erhalten.
Um dies pragmazu verwenden, müssen Sie die /Ob
Compileroption auf 1 oder höher festlegen. Der Tiefensatz, der dies pragma verwendet, wird beim ersten Funktionsaufruf nach dem pragma.
Die Inlinetiefe kann während der Erweiterung verringert, aber nicht erhöht werden. Wenn die Inlinetiefe 6 ist und während der Erweiterung des Präprozessors ein inline_depth
pragma Wert von 8 auftritt, bleibt die Tiefe 6.
Dies inline_depth
pragma hat keine Auswirkungen auf funktionen, die mit __forceinline
.
Hinweis
Rekursive Funktionen können inline in einer maximalen Tiefe von 16 Aufrufen ersetzt werden.
Siehe auch
PragmaDirektiven und Schlüsselwörter __pragma
_Pragma
inline_recursion