/Oy (Omisión de puntero de marco)
Suprime la creación de punteros de marcos en la pila de llamadas.
/Oy[-]
Comentarios
Esta opción acelera las llamadas de función, ya que no es necesario configurar y quitar punteros de marco. También libera un registro más (EBP en Intel 386 o posterior) para almacenar variables y subexpresiones que se utilizan con frecuencia.
/Oy habilita la omisión del puntero de marco, mientras que /Oy- deshabilita la omisión. /Oy solo está disponible en compiladores x86.
Si el código requiere direccionamiento basado en EBP, puede especificar la opción /Oy– después de /Ox o utilizar optimize con los argumentos "y" y off para obtener una optimización máxima con dicho direccionamiento. El compilador detecta la mayoría de las situaciones en las que se requiere el direccionamiento basado en EBP (por ejemplo, con las funciones _alloca y setjmp y con el control de excepciones estructurado).
Las opciones /Ox (Optimización completa) y /O1, /O2 (Minimizar tamaño, maximizar velocidad) implican /Oy. Si se especifica /Oy– después de la opción /Ox, /O1 u /O2, se deshabilita /Oy, tanto si está explícito como si está implícito.
La opción /Oy del compilador dificulta el uso del depurador, ya que el compilador suprime la información de los punteros de marco. Si especifica una opción del compilador para depuración (/Z7, /Zi, /ZI), es recomendable especificar la opción /Oy- después de cualquier otra opción de optimización del compilador.
Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener información detallada, vea Cómo: Abrir páginas de propiedades del proyecto.
Haga clic en la carpeta C/C++.
Haga clic en la página de propiedades Optimización.
Modifique la propiedad Omitir punteros de marcos. Esta propiedad solo agrega o quita la opción /Oy. Si desea agregar la opción /Oy-, haga clic en Línea de Comandos y modifique Opciones adicionales.
Para establecer esta opción del compilador mediante programación
- Vea OmitFramePointers.