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.