/ Os, /Ot (favorecer código Small, favorecer código Fast)
Minimiza ou maximiza o dimensionar de DLLs e EXEs.
/Os
/Ot
Comentários
/Os (Favor Small código) minimiza o dimensionar do EXEs e DLLs, instruindo o compilador para favorecer dimensionar em vez de velocidade. O compilador pode reduzir muitas construções de C e C++ funcionalmente semelhante seqüências de código de computador.Ocasionalmente, essas diferenças oferecem vantagens e desvantagens de dimensionar em vez de velocidade.The /Os e /Ot opções permitem que você especifique uma preferência para um a Outros:
/Ot (Favor Fast código) maximiza a velocidade de DLLs e EXEs, instruindo o compilador para favorecer a velocidade acima de dimensionar. (Este é o padrão). O compilador pode reduzir muitas construções de C e C++ funcionalmente semelhante seqüências de código de computador.Às vezes, essas diferenças oferecem vantagens e desvantagens de dimensionar em vez de velocidade.A opção /Ot foi inferida por maximizar velocidade (/O2/ O1, /O2 (dimensionar minimizar, maximizar velocidade)) opção. The /O2 opção combina várias opções para produzir código muito rápido.
Se você usar /Os ou /Ot, e em seguida, você também deve especificar /Og/Og (otimizações global) para otimizar o código.
Observação: |
---|
Informações coletadas de um perfil de execução de teste substituirão otimizações que seriam em vigor se você especificar /Ob, /Os, ou /Ot. Para obter mais informações, Otimização Guiada por analisar. |
x86 específicos
O código de exemplo a seguir demonstra a diferença entre o código Small favorecer (/Os) opções e o código Fast favorecer (/Ot) opção:
Observação: |
---|
A seguir descreve o comportamento esperado ao usar /Os ou /Ot. No entanto, comportamento do compilador versão para versão pode resultar em otimizações diferentes para o código a seguir. |
/* differ.c
This program implements a multiplication operator
Compile with /Os to implement multiply explicitly as multiply.
Compile with /Ot to implement as a series of shift and LEA instructions.
*/
int differ(int x)
{
return x * 71;
}
sistema autônomo mostra o fragmento de código de computador abaixo, quando DIFFER.c for compilado para o dimensionar (/Os), implementa a compilador a multiplicar a expressão na demonstrativo return explicitamente sistema autônomo um multiplicar para produzir uma sequência curta, mas mais lenta do código:
mov eax, DWORD PTR _x$[ebp]
imul eax, 71 ; 00000047H
sistema autônomo alternativa, quando DIFFER.c for compilado para a velocidade (/Ot), implementa a compilador a multiplicar a expressão na demonstrativo de retorno sistema autônomo uma série de mudança e LEA instruções para produzir uma sequência rápida, mas mais de código:
mov eax, DWORD PTR _x$[ebp]
mov ecx, eax
shl eax, 3
lea eax, DWORD PTR [eax+eax*8]
sub eax, ecx
participante x86 específicos
Para conjunto esta opção do compilador no ambiente de desenvolvimento do Visual Studio
em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Como: Abrir o Projeto Propriedade Páginas.
clicar no C/C++ pasta.
clicar no Otimização página de propriedades.
Modificar o Favorecer dimensionar ou velocidadepropriedade .
Para conjunto esta opção do compilador por meio de programação
- SeeFavorSizeOrSpeed.