Share via


inline_depth pragma

Especifica la profundidad de búsqueda heurística insertada. Las funciones con una profundidad en el gráfico de llamadas mayor que el valor especificado no están insertados.

Sintaxis

#pragma inline_depth( [ n ] )

Comentarios

Esta pragma controla la inserción de las funciones marcadas como inline e __inline, o insertadas automáticamente bajo la opción del compilador /Ob. Para obtener más información, vea /Ob (Expansión de funciones inline).

n puede ser un valor entre 0 y 255, donde 255 significa una profundidad ilimitada en el gráfico de llamadas. Un valor de 0 impide la expansión insertada. Cuando no se especifica n, se usa el valor predeterminado 254.

La inline_depthpragma controla el número de veces que se puede expandir una serie de llamadas a función. Por ejemplo, supongamos que la inline insertada es 4. Si A llama a B, entonces B llama a C, todas las tres llamadas de expanden como inline. Sin embargo, si la expansión inline de profundidad más próxima es de 2, solo se expanden A y B, y C permanece como una llamada a función.

Para utilizar esta pragma, debe establecer la opción del compilador /Ob en 1 o 2. La profundidad establecida mediante esta 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 6 y, durante la expansión, el preprocesador encuentra una inline_depthpragma con un valor de 8, la profundidad permanece en 6.

La inline_depthpragma 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.

Consulte también

Directivas pragma y las palabras clave __pragma y _Pragma
inline_recursion