/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, puesto que no se necesita configurar y quitar punteros de marco. También libera un registro más, (EBP en Intel 386 o posterior) para almacenar variables y subexpresiones utilizadas con frecuencia.
/Oy habilita la omisión del puntero de marco, mientras que /Oy- deshabilita la omisión. /Oy sólo está disponible en compiladores para 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 /Ox, /O1, o la opción /O2, se deshabilita /Oy, sea explícita o implícita.
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 agrega o quita sólo 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.