Freigeben über


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 __inlineoder 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_depthpragma 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_depthpragma Wert von 8 auftritt, bleibt die Tiefe 6.

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