Partilhar via


inline_depth

Especifica a profundidade da pesquisa heurística embutida, de modo que nenhuma função seja embutida se estiver em uma profundidade (no gráfico de chamadas) maior que n.

#pragma inline_depth( [n] )

Comentários

Este pragma controla o processo de embutir das funções marcadas com inline e __inline ou embutidas automaticamente sob a opção /Ob2.

n pode ser um valor entre 0 e 255, onde 255 significa profundidade ilimitada no gráfico de chamadas, e zero inibe a expansão da tabela embutida. Quando n não é especificado, o padrão (254) é usado.

O pragma inline_depth controla o número de vezes que uma série das chamadas de função pode ser expandida. Por exemplo, se a profundidade embutida for quatro, e se A chamar B e B chamar C, as três chamadas serão embutidas expandidas. No entanto, se a expansão embutida mais próxima for dois, somente 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 do compilador /Ob para 1 ou 2. A profundidade definida com esse pragma entra em vigor na primeira chamada de função após o pragma.

A profundidade embutida pode ser diminuída durante a expansão, mas não pode ser aumentada. Se a profundidade embutida for seis e, durante a expansão, o pré-processador encontrar um pragma inline_depth com um valor de oito, a profundidade permanecerá seis.

O pragma inline_depth não tem nenhum efeito em funções marcadas com __forceinline.

Dica

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

Consulte também

Referência

Diretivas Pragma e a palavra-chave __Pragma

inline_recursion