/Og (otimizações globais)
Fornece as otimizações locais e globais, o registro automático alocação e otimização de loop.Preterido.
/Og
Comentários
As seguintes otimizações estão disponíveis:
Eliminação de subexpressão locais e globais comuns
Dessa otimização, o valor de uma subexpressão comum é calculado de uma vez.No exemplo a seguir, se os valores de b e c não alterar entre as três expressões, o compilador pode atribuir o cálculo de b + c a uma variável temporária e substituir a variável b + c:
a = b + c; d = b + c; e = b + c;
Para otimizar o subexpressão comum local, o compilador examina curtas seções de código para subexpressões comuns.Para otimizar o subexpressão comum global, o compilador pesquisa funções inteiras para subexpressões comuns.
Alocação do registro automático
Essa otimização permite que o compilador para variáveis de armazenamento usado com freqüência e subexpressões nos registradores; o register palavra-chave é ignorada.
Otimização de loop
Essa otimização remove subexpressões invariável do corpo de um loop.Um loop ideal contém somente as expressões cujos valores mudam a cada execução do loop.No exemplo a seguir, a expressão x + y não é alterado no corpo do loop:
i = -100; while( i < 0 ) { i += x + y; }
Após a otimização, x + y é calculado uma vez, em vez de cada vez que o loop é executado:
i = -100; t = x + y; while( i < 0 ) { i += t; }
Otimização de loop é muito mais eficaz quando o compilador não pode assumir nenhum serrilhado, definido com __restrict, noalias, ou restringir.
Observação Você pode ativar ou desativar a otimização global em uma base por função-função usando o optimize pragma com o g opção.
/Ogtambém permite a otimização de chamada retornar valor, o que elimina o construtor de cópia e o destruidor de um valor de retorno de pilha com base.Consulte / O1, /O2. (tamanho de minimizar, maximizar velocidade) para obter mais informações.
Para obter informações relacionadas, consulte Funções intrínsecas gerar (/Oi) e otimização completa (/ Ox).
/Ogé obsoleto; use either /O1 or /O2.Para obter mais informações, consulte Deprecated Compiler Options.
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.
Clique no C/C++ pasta.
Clique no a linha de comando página de propriedades.
Digite a opção de compilador no Opções adicionais de caixa.
Para definir essa opção de compilador programaticamente
- Consulte AdditionalOptions.