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++ seqüências similares do código de máquina.Ocasionalmente, essas diferenças oferecem vantagens e desvantagens do tamanho de imagem e velocidade.O /Os e /Ot as 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++ seqüências similares do código de máquina.Ocasionalmente, essas diferenças oferecem vantagens e desvantagens do tamanho de imagem e 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, e em seguida, você também deve especificar /Og para otimizar o código.

ObservaçãoObservação

As informações coletadas em execuções de teste de criação de perfil substituirá otimizações que outrora seriam em vigor se você especificar /Ob, /Os, ou /Ot.Para obter mais informações, Otimizações guiadas por perfil.

x 86 específicos

O exemplo de código a seguir demonstra a diferença entre o código de pequenos 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, comportamento do compilador de 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;
}

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 de curta, porém mais lenta de 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 Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.

  2. Clique no C/C++ pasta.

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

  4. Modificar o Favorecer Tamanho ou velocidade propriedade.

Para definir essa opção de compilador programaticamente

Consulte também

Referência

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

Opções do compilador

Configurando opções de compilador