Compartilhar via


/ /Ot (código de favor pequena, código de favor rápido) Os,

Minimiza ou maximiza o tamanho de DLLs e EXEs.

/Os
/Ot

Comentários

/Os(Favor pequeno código) minimiza o tamanho de DLLs e EXEs instruindo o compilador para favorecer o tamanho em vez de velocidade. O compilador pode reduzir muitas construções de c e C++ funcionalmente semelhante seqüências de código de máquina. Ocasionalmente, essas diferenças oferecem vantagens e desvantagens de tamanho versus velocidade. O /Os e /Ot opções permitem que você especifique uma preferência para um sobre o outro:

/Ot(Favor Fast código) maximiza a velocidade de DLLs e EXEs instruindo o compilador para favorecer a velocidade acima de tamanho. (Este é o padrão). O compilador pode reduzir muitas construções de c e C++ funcionalmente semelhante seqüências de código de máquina. Ocasionalmente, essas diferenças oferecem vantagens e desvantagens de tamanho versus velocidade. A opção /Ot está implícito pela maximizar velocidade (/O2.) opção. O /O2 opção combina várias opções para produzir código muito rápido.

Se você usar /Os ou /Ot, em seguida, você também deve especificar /Og para otimizar o código.

ObservaçãoObservação

Informações coletadas em execuções de teste de criação de perfil substituirá otimizações que seriam em vigor se você especificar /Ob, /Os, ou /Ot. For more information, Otimizações guiadas por perfil.

x 86 específicos

O exemplo de código a seguir demonstra a diferença entre o código da pequena Favor (/Os) opções e o código de favorecer Fast (/Ot) opção:

ObservaçãoObservação

A seguir descreve o comportamento esperado ao usar /Os ou /Ot. No entanto, o comportamento de compilador para versão release 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;
}

Conforme mostrado no fragmento de código de máquina abaixo, quando DIFFER.c for compilado para o tamanho (/Os), implementa a compilador a multiplicar a expressão na instrução return explicitamente como um multiplicar para produzir uma seqüência curta, mas é mais lenta do código:

   mov    eax, DWORD PTR _x$[ebp]
   imul   eax, 71                  ; 00000047H

Como alternativa, quando DIFFER.c for compilado para velocidade (/Ot), implementa a compilador a multiplicar a expressão na instrução de retorno como uma série de mudança e LEA instruções para produzir uma seqüê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

FIM x 86 específicos

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

  1. Abra o projeto Property Pages caixa de diálogo. For details, see Como: Abrir páginas de propriedades do projeto.

  2. Clique o C/C++ pasta.

  3. Clique o otimização página de propriedades.

  4. Modificar o favorecer tamanho ou velocidade propriedade.

Para definir esta opção de compilador programaticamente

Consulte também

Referência

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

Opções do compilador

Definindo opções do compilador