/ O1, /O2. (tamanho de minimizar, maximizar velocidade)
Seleciona um conjunto predefinido de opções que afetam o tamanho e velocidade dos arquivos.
/O1
/O2
Comentários
A tabela a seguir descreve /O1 e /O2.
Opção |
Equivalente a |
Comment |
---|---|---|
/O1(Minimizar o tamanho) |
/Og /Os /Oy /Ob2 /Gs /GF /Gy |
Cria o código menor na maioria dos casos. |
/O2(Maximizar velocidade) |
/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy |
Cria o código mais rápido na maioria dos casos. (a configuração padrão para lançamento de builds) |
/O1e /O2 também permitem a otimização de chamada retornar o valor, que elimina o construtor de cópia e destruidor de uma pilha com base no valor de retorno. Considere o exemplo a seguir. O Test função não criará o construtor de cópia ou destruidor. Adicione declarações de saída para o construtor, destruidor e o construtor de cópia para ver o efeito de otimização de chamada retornar o valor quando você executa o programa. Para obter mais informações sobre a chamada otimização de valor de retorno no Visual C++, consulte https://go.microsoft.com/fwlink?linkid=55900.
// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
A() {}
~A() {}
A(const A& aa) {}
};
A Test() {
A a;
return a;
}
int main() {
A aa;
aa = Test();
}
x 86 específicos
Essas opções implicam o uso da omissão do ponteiro do quadro (/Oy) opção.
FIM x 86 específicos
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte:Como: Abrir páginas de propriedades do projeto.
Clique o C/C++ pasta.
Clique o otimização página de propriedades.
Modificar o otimização propriedade.
Para definir esta opção de compilador programaticamente
- Consulte Optimization.