/GL (Optimización de todo el programa)
Habilita la optimización completa del programa.
/GL[-]
Comentarios
La optimización de todo el programa permite al compilador realizar optimizaciones con información de todos los módulos del programa.Sin la optimización de todo el programa, las optimizaciones se llevan a cabo módulo a módulo (compilando).
La optimización de todo el programa está desactivada de forma predeterminada y debe habilitarse explícitamente.Sin embargo, también es posible deshabilitarla explícitamente mediante /GL-.
Con información de todos los módulos, el compilador puede:
Optimizar el uso de los registros más allá de los límites de las funciones.
Consiga efectuar un mejor seguimiento de las modificaciones a los datos globales, permitiendo una reducción del número de cargas y almacenes.
Consiga efectuar un mejor seguimiento del posible conjunto de elementos modificados al desreferenciar un puntero, reduciendo los números de cargas y almacenes.
Procesar una función inline en un módulo incluso si la función está definida en otro módulo.
Los archivos .obj generados con /GL no estarán disponibles para utilidades de vinculador del tipo EDITBIN y DUMPBIN.
Si compila un programa con /GL y /c, debe utilizar la opción del vinculador /LTCG para crear el archivo de salida.
/ZI no se puede usar con /GL
El formato de los archivos generados con /GL en la versión actual puede no ser legible con versiones posteriores de Visual C++.No distribuya un archivo .lib compuesto por archivos .obj generados con /GL a menos que esté dispuesto a distribuir copias del archivo .lib para todas las versiones de Visual C++ que puedan utilizar sus usuarios, ahora y en el futuro.
Los archivos .obj generados con /GL y los archivos de encabezado precompilados no deben utilizarse para compilar un archivo .lib salvo que éste se vincule en el mismo equipo en que se generó el archivo .obj de /GL.La información del archivo de encabezado precompilado del archivo .obj se necesita para realizar la vinculación.
Para obtener más información sobre las optimizaciones disponibles y las limitaciones de optimización de todo el programa, vea /LTCG./GL también deja disponible la optimización guiada por perfiles; vea /LTCG.Cuando compile para obtener optimizaciones guiadas por perfiles, y si desea que haya ordenación de funciones desde estas optimizaciones, debe compilar con /Gy o con una opción del compilador que implique /Gy.
Para establecer esta opción del vinculador en el entorno de desarrollo de Visual Studio
- Vea /LTCG (Generación de código en tiempo de enlace) para obtener información sobre cómo especificar /GL en el entorno de desarrollo.