/Ob (expansão de função embutida)
Controla a expansão embutida de funções.
/Ob{0|1|2}
Arguments
0
Desabilita expansões embutido. Por padrão, expansão ocorre a critério do compilador em todas as funções, conhecida como automática inlining.1
Permite expansão apenas das funções marcadas embutido, inline, ou forceinline, ou em uma função de membro C++ definido em uma declaração de classe.2
O valor padrão. Permite expansão das funções marcadas como inline, __inline, ou __forceinline, e qualquer outra função que o compilador escolhe./Ob2 está em vigor quando /O1, /O2 (minimizar tamanho, maximizar velocidade) ou /Ox (otimização total) é usado.
Essa opção requer que você habilite otimizações usando /O1, /O2, /Ox, ou /Og.
Comentários
O compilador trata as opções de expansão embutida e as palavras-chave como sugestões. Não há nenhuma garantia de que todas as funções serão embutidas expandidas. Você pode desabilitar expansões embutido, mas você não pode forçar o compilador a embutir uma função específica, mesmo ao usar o __forceinline palavra-chave.
Você pode usar o #pragma auto_inline diretiva para excluir funções da consideração como candidatos para expansão embutida. Consulte também o #pragma Intrínseco diretiva.
Dica
Informações coletadas de execuções de teste de criação de perfil substituem otimizações que seriam em vigor se você especificar /Ob, /Os, ou /Ot.Para obter mais informações, consulte Otimizações orientadas a perfil.
Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, consulte Trabalhando com propriedades do projeto.
Expanda Propriedades de configuração, C/C++, e selecione otimização.
Modificar o expansão de função embutida propriedade.
Para definir essa opção do compilador via programação
- Consulte InlineFunctionExpansion.