Partilhar via


inline_depth pragma

Especifica a profundidade de pesquisa heurística embutida. As funções com uma profundidade no gráfico de chamada maior do que o valor especificado não são embutidas.

Sintaxe

#pragma inline_depth( [ n ] )

Comentários

Este pragma controla o inlining de funções marcadas inline e __inlineou inlindadas automaticamente sob a opção /Ob compilador. Para obter mais informações, consulte /Ob (Expansão de função embutida).

n pode ser um valor entre 0 e 255, onde 255 significa profundidade ilimitada no gráfico de chamadas. Um valor de 0 inibe a expansão em linha. Quando n não é especificado, o valor padrão 254 é usado.

O inline_depthpragma controla o número de vezes que uma série de chamadas de função pode ser expandida. Por exemplo, suponha que a profundidade embutida é 4. Se A chama B e B chama C, todas as três chamadas são expandidas em linha. No entanto, se a expansão de profundidade em linha mais próxima for 2, apenas A e B serão expandidos, e C permanecerá como uma chamada de função.

Para usar esse pragma, você deve definir a opção /Ob compilador como 1 ou superior. O conjunto de profundidade usando este pragma entra em vigor na primeira chamada de função após o pragma.

A profundidade em linha pode ser diminuída durante a expansão, mas não aumentada. Se a profundidade em linha for 6 e, durante a expansão, o pré-processador encontrar um inline_depthpragma com um valor de 8, a profundidade permanecerá 6.

O inline_depthpragma não tem efeito sobre as funções marcadas com __forceinline.

Observação

As funções recursivas podem ser substituídas em linha até uma profundidade máxima de 16 chamadas.

Ver também

diretivas Pragma e as palavras-chave __pragma e _Pragma
inline_recursion