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_depth
pragma 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_depth
pragma con un valor de 8, la profundidad permanece en 6.
La inline_depth
pragma 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
Pragmadirectivas y las __pragma
palabras clave y _Pragma
inline_recursion