/Yu
(Utilizar el archivo de encabezado precompilado)
Indica al compilador que use un archivo de encabezado precompilado (.pch
) existente en la compilación actual.
Sintaxis
/Yu
[filename]
Argumentos
filename
Nombre de un archivo de encabezado, que se incluye en el archivo de código fuente mediante una directiva de preprocesador #include
.
Comentarios
El nombre del archivo de inclusión debe ser el mismo para la opción /Yc
que crea el encabezado precompilado y para cualquier opción /Yu
posterior que indique el uso del encabezado precompilado.
En /Yc
, filename especifica el punto en el que se detiene la precompilación; el compilador precompila todo el código hasta filename y nombra el encabezado precompilado resultante con el nombre base del archivo de inclusión y una extensión de .pch
.
El archivo .pch
debe haberse creado con /Yc
.
El compilador trata todo el código que tiene lugar antes del archivo .h como precompilado. Salta justo después de la directiva #include
asociada al archivo .h
, usa el código contenido en el archivo .pch
y, a continuación, compila todo el código después de filename.
En la línea de comandos, no se permite ningún espacio entre /Yu
y filename.
Al especificar la opción /Yu
sin un nombre de archivo, el programa de origen debe contener una instrucción pragma #pragma hdrstop
que especifique el nombre de archivo del encabezado precompilado, el archivo .pch
. En este caso, el compilador usará el encabezado precompilado (archivo .pch
) denominado por /Fp (Name .pch file)
. El compilador salta hasta la ubicación de esa instrucción pragma y restaura el estado compilado del archivo de encabezado precompilado especificado. A continuación, compila solo el código que sigue a la instrucción pragma. Si #pragma hdrstop
no especifica un nombre de archivo, el compilador busca un archivo con un nombre derivado del nombre base del archivo de origen con una extensión .pch
. También puede usar la opción /Fp
para especificar un archivo .pch
distinto.
Si especifica la opción /Yu
sin un nombre de archivo y no especifica una instrucción pragma hdrstop
, se genera un mensaje de error y la compilación no se realiza correctamente.
Si las opciones /Yc
filename y /Yu
filename se producen en la misma línea de comandos y ambas hacen referencia al mismo nombre de archivo, /Yc
filename tiene prioridad y precompila todo el código hasta el archivo con nombre, incluido. Esta característica simplifica la escritura de archivos Make.
Como los archivos .pch
contienen información sobre el entorno de la máquina y sobre la dirección de memoria del programa, solo debe usar un archivo .pch
en la máquina en la que se creó.
Para obtener más información sobre los encabezados precompilados, consulte:
Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio
Especifique
/Yc
(Crear archivo de encabezado precompilado) en un archivo .cpp del proyecto.Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.
Seleccione la página de propiedades Propiedades de configuración>C/C++>Encabezados precompilados.
Modifique la propiedad Encabezado precompilado, la propiedad Crear o usar encabezado precompilado a través de archivo o la propiedad Crear o usar encabezado precompilado.
Para establecer esta opción del compilador mediante programación
- Consulte PrecompiledHeaderThrough y UsePrecompiledHeader.
Ejemplo
Si el código siguiente:
#include <afxwin.h> // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h" // Include information specific to this app
...
se compila mediante la línea de comandos CL /YuMYAPP.H PROG.CPP
, el compilador no procesa las tres instrucciones include. En su lugar, usa código precompilado de MYAPP.pch
, lo que ahorra el tiempo que conlleva preprocesar los tres archivos (y cualquier archivo que puedan incluir).
Puede usar la opción /Fp (Name .pch file)
con la opción /Yu
para especificar el nombre del archivo .pch
si el nombre es distinto del argumento filename para /Yc
o del nombre base del archivo de código fuente, como en el ejemplo siguiente:
CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP
Este comando especifica un archivo de encabezado precompilado llamado MYPCH.pch
. El compilador usa su contenido para restaurar el estado precompilado de todos los archivos de encabezado hasta MYAPP.h
, inclusive. A continuación, el compilador compila el código que tiene lugar después de la directiva #include "MYAPP.h"
*.
Consulte también
Opciones del compilador de MSVC
Sintaxis de línea de comandos del compilador de MSVC