Compartilhar via


/Og (otimizações global)

Fornece otimizações locais e global, alocação o registro automático e otimização de loop.preterido.

/Og

Comentários

Estão disponível as seguintes otimizações:

  • Locais e global eliminação subexpressão 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 três expressões, o compilador pode atribuir o cálculo do b + c a uma variável temporária e substitua a variável b + c:

    a = b + c;
    d = b + c;
    e = b + c;
    

    Para local otimização subexpressão comum, o compilador examina curtas seções de código para subexpressions comuns.Para otimizar o subexpressão comuns global, o compilador pesquisa funções inteiras para subexpressions comuns.

  • Alocação de registro automático

    Essa otimização permite que o compilador a variáveis de armazenamento usado com freqüência e subexpressions em registradores; o register palavra-chave é ignorada.

  • Otimização de loop

    Essa otimização remove subexpressions invariável do corpo de um loop.Um loop ideal contém somente expressões cujos valores alterar através de 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 efetivo quando o compilador não pode assumir nenhum alias, que ser definida com __restrict, noalias, or restringir.

    Observação:

    Você pode ativar ou desabilitar a otimização global usando uma função por função base a optimize pragma com o g opção.

/Og também permite a otimização nomeado valor return, que elimina a cópia construtor e destruidor de um valor retornado com base em pilha. Consulte / O1, /O2 (dimensionar minimizar, maximizar velocidade) para obter mais informações.

Para obter informações relacionadas, consulte Gerar funções intrínsecas (/Oi) and Otimização total (/ Ox).

/Og obsoleto no Visual C++ 2005; use um / O1 or /O2. Para obter mais informações, consulte Opções do compilador preterido no Visual C++ 2005.

Para conjunto esta opção do compilador no ambiente de desenvolvimento do Visual Studio

  1. em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Como: Abrir o Projeto Propriedade Páginas.

  2. clicar no C/C++ pasta.

  3. clicar no Linha de comando página de propriedades.

  4. Digite opção do compilador no Opções adicionaisbox.

Para conjunto esta opção do compilador por meio de programação

Consulte também

Referência

/O opções (otimizar código)

Opções do compilador

Opções de compilador configuração