/O1, /O2 (Minimizar tamaño, maximizar velocidad)

Selecciona un conjunto predefinido de opciones que afectan al tamaño y a la velocidad de los archivos.

/O1
/O2

Comentarios

En la siguiente tabla se describen las opciones /O1 y /O2.

Opción

Equivale a

Comentarios

/O1 (Minimizar tamaño)

/Og /Os /Oy /Ob2 /Gs /GF /Gy

Crea el código más pequeño en la mayor parte de los casos.

/O2 (Maximizar velocidad)

/Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy

Crea el código más rápido en la mayor parte de los casos. (configuración predeterminada en las versiones de lanzamiento)

Las opciones /O1 y /O2 también habilitan la optimización del valor devuelto con nombre, que elimina el constructor y el destructor de copias de un valor devuelto basado en la pila. Observe el siguiente ejemplo. La función Test no creará el constructor o el destructor de copias. Agregue instrucciones de salida al constructor, al destructor y al constructor de copias para ver el efecto de la optimización del valor devuelto con nombre cuando ejecute el programa. Para obtener más información acerca de la optimización de valores devueltos con nombre en Visual C++, vea https://go.microsoft.com/fwlink?linkid=55900.

// O1_O2_NRVO.cpp
// compile with: /O1
struct A {
   A() {}
   ~A() {}
   A(const A& aa) {}
};

A Test() {
   A a;
   return a;
}
int main() {
   A aa;
   aa = Test();
}

Específico de x86

Estas opciones implican el uso de la opción /Oy (omisión de puntero a marco).

Específico de END x86

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. 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.

  2. Haga clic en la carpeta C/C++.

  3. Haga clic en la página de propiedades Optimización.

  4. Modifique la propiedad Optimización.

Para establecer esta opción del compilador mediante programación

Vea también

Referencia

/O (Opciones) (Optimizar código)

Opciones del compilador

Establecer las opciones del compilador

/EH (Modelo de control de excepciones)