inline_depth
pragma
Especifica a profundidade de pesquisa heurística embutida. Funções em profundidade no grafo de chamadas maiores que o valor especificado não são embutidas.
Sintaxe
#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 do compilador /Ob
. Para mais informações, confira /Ob
(Expansão de função embutida).
n pode ser um valor entre 0 e 255, em que 255 significa profundidade ilimitada no grafo de chamadas. Um valor de 0 inibe a expansão embutida. Quando n não é especificado, o valor padrão 254 é usado.
O inline_depth
pragma controla o número de vezes que uma série das chamadas de função pode ser expandida. Por exemplo, suponha que a profundidade embutida seja 4. Se A chamar B e B chamar C, as três chamadas serão embutidas expandidas. No entanto, se a expansão de profundidade embutida mais próxima for 2, 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
como 1 ou superior. 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 6 e, durante a expansão, o pré-processador encontrar um inline_depth
pragma com um valor de 8, a profundidade continuará sendo 6.
O inline_depth
pragma não tem nenhum efeito em funções marcadas com __forceinline
.
Observação
As funções recursivas podem ser substituídas embutidas até a profundidade máxima de 16 chamadas.
Confira também
Pragmadiretivas e as __pragma
palavras-chave e _Pragma
inline_recursion