inline_depth
Especifica la profundidad de búsqueda heurística alineada de tal forma que ninguna función se inserte si está en una profundidad (en el gráfico de llamadas) mayor que n.
#pragma inline_depth( [n] )
Comentarios
Esta directiva pragma controla la inserción de las funciones marcadas como inline e __inline, o insertadas automáticamente bajo la opción /Ob2.
n puede ser un valor entre 0 y 255, donde 255 significa una profundidad ilimitada en el gráfico de llamadas y cero deshabilita la expansión alineada. Cuando no se especifica n, se usa el valor predeterminado (254).
La directiva pragma inline_depth controla el número de veces que se puede expandir una serie de llamadas a función. Por ejemplo, si la profundidad alineada es cuatro y A llama a B y B después llama a C, las tres llamadas se expandirán alineadas. Sin embargo, si la expansión alineada más próxima es de dos, solo se expanden A y B, y C permanece como una llamada a función.
Para utilizar esta directiva pragma, debe establecer la opción del compilador /Ob en 1 o 2. La profundidad establecida mediante esta directiva pragma surte efecto en la primera llamada a función después de pragma.
La profundidad alineada puede reducirse durante la expansión, pero no se puede aumentar. Si la profundidad alineada es seis y, durante la expansión, el preprocesador encuentra una directiva pragma inline_depth con un valor de ocho, la profundidad permanece en seis.
La directiva pragma inline_depth no tiene ningún efecto en las funciones marcadas con __forceinline.
Nota
Las funciones recursivas pueden sustituirse alineadas con una profundidad máxima de 16 llamadas.