Compartilhar via


/Oy (omissão do ponteiro de quadro)

Inibe a criação de ponteiros de quadros na pilha de chamadas.

/Oy[-]

Comentários

Essa opção acelera chamadas de função, porque nenhum ponteiro de quadro precisa ser configurado e removido. Também libera mais um registro, (EBP no Intel 386 ou posterior) para armazenar variáveis e subexpressões usadas frequentemente.

/Oy permite a omissão de ponteiro de quadro e /Oy- desabilita a omissão. /Oy está disponível somente em compiladores x86.

Se seu código exigir tratamento baseado em EBP, você poderá especificar a opção /Oy– após a opção /Ox ou usar optimize com os argumentos “y” e off para obter a máxima otimização com tratamento baseado em EBP. O compilador detecta a maioria das situações em que o tratamento baseado em EBP é necessário (por exemplo, com as funções _alloca e setjmp e o tratamento estruturado de exceções).

As opções /Ox (otimização total) e /O1, /O2 (minimizar tamanho, maximizar velocidade) implicam /Oy. Especificar /Oy– depois da opção /Ox, /O1 ou /Oy desabilita /O2, seja explícita ou implícita.

A opção de compilador /Oy torna o uso do depurador mais difícil porque o compilador suprime as informações do ponteiro de quadro. Se você especificar uma opção de compilador de depuração (/Z7, /Zi, /ZI), é recomendável especificar a opção /Oy- depois das outras opções de compilador de otimização.

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

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, consulte Como abrir páginas de propriedade do projeto.

  2. Clique na pasta C/C++.

  3. Clique na página de propriedades de Otimização.

  4. Modifique a propriedade de Omite Ponteiros de Quadros. Essa propriedade adiciona ou remove somente a opção /Oy. Se você quiser adicionar a opção /Oy-, clique em Linha de Comando e modifique Opções adicionais.

Para definir essa opção do compilador via programação

Consulte também

Referência

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

Opções do compilador

Definindo opções do compilador