Compartilhar via


/ 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

  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 Otimização página de propriedades.

  4. Modificar o Favorecer dimensionar ou velocidadepropriedade .

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