/Yu(Usar archivo de encabezado precompilado)/Yu (Use precompiled header file)

Indica al compilador que use un archivo de encabezado precompilado ( .pch ) existente en la compilación actual.Instructs the compiler to use an existing precompiled header (.pch) file in the current compilation.

SyntaxSyntax

/Yu[nombre de archivo]/Yu[filename]

ArgumentosArguments

filenamefilename
Nombre de un archivo de encabezado, que se incluye en el archivo de código fuente mediante una #include Directiva de preprocesador.The name of a header file, which is included in the source file using a #include preprocessor directive.

ComentariosRemarks

El nombre del archivo de inclusión debe ser el mismo para la /Yc opción que crea el encabezado precompilado y para cualquier /Yu opción posterior que indique el uso del encabezado precompilado.The name of the include file must be the same for both the /Yc option that creates the precompiled header and for any later /Yu option that indicates use of the precompiled header.

En /Yc , filename especifica el punto en el que se detiene la precompilación; el compilador precompila todo el código sin el nombre de archivo y nombra el encabezado precompilado resultante mediante el nombre base del archivo de inclusión y una extensión de .pch .For /Yc, filename specifies the point at which precompilation stops; the compiler precompiles all code though filename and names the resulting precompiled header using the base name of the include file and an extension of .pch.

El .pch archivo se debe haber creado con /Yc .The .pch file must have been created using /Yc.

El compilador trata todo el código que se produce antes del archivo. h como precompilado.The compiler treats all code occurring before the .h file as precompiled. Se salta a más allá de la #include directiva asociada al .h archivo, usa el código contenido en el .pch archivo y, a continuación, compila todo el código después del nombrede archivo.It skips to just beyond the #include directive associated with the .h file, uses the code contained in the .pch file, and then compiles all code after filename.

En la línea de comandos, no se permite ningún espacio entre /Yu y filename.On the command line, no space is allowed between /Yu and filename.

Cuando se especifica la /Yu opción sin un nombre de archivo, el programa de origen debe contener una #pragma hdrstop pragma que especifique el nombre del archivo del encabezado precompilado, el .pch archivo.When you specify the /Yu option without a file name, your source program must contain a #pragma hdrstop pragma that specifies the file name of the precompiled header, .pch file. En este caso, el compilador usará el encabezado precompilado ( .pch archivo) denominado por /Fp (Name .pch file) .In this case, the compiler will use the precompiled header (.pch file) named by /Fp (Name .pch file). El compilador salta a la ubicación de esa pragma y restaura el estado compilado del archivo de encabezado precompilado especificado.The compiler skips to the location of that pragma and restores the compiled state from the specified precompiled header file. Después, compila solo el código que sigue a la Directiva pragma.Then it compiles only the code that follows the 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 código fuente con una .pch extensión.If #pragma hdrstop doesn't specify a file name, the compiler looks for a file with a name derived from the base name of the source file with a .pch extension. También puede usar la /Fp opción para especificar un archivo diferente .pch .You can also use the /Fp option to specify a different .pch file.

Si especifica la /Yu opción sin un nombre de archivo y no especifica una hdrstop Directiva pragma, se genera un mensaje de error y la compilación no se realiza correctamente.If you specify the /Yu option without a file name and fail to specify a hdrstop pragma, an error message is generated and the compilation is unsuccessful.

Si las /Yc opciones filename y /Yu filename se producen en la misma línea de comandos y hacen referencia al mismo nombre de archivo, /Yc filename tiene prioridad, Precompilando todo el código hasta el archivo con nombre y lo incluye.If the /Ycfilename and /Yufilename options occur on the same command line and both reference the same file name, /Ycfilename takes precedence, precompiling all code up to and including the named file. Esta característica simplifica la escritura de archivos make.This feature simplifies the writing of makefiles.

Dado .pch que los archivos contienen información sobre el entorno del equipo y la información de la dirección de memoria del programa, solo debe usar un .pch archivo en el equipo en el que se creó.Because .pch files contain information about the machine environment and memory address information about the program, you should only use a .pch file on the machine where it was created.

Para obtener más información sobre los encabezados precompilados, vea:For more information on precompiled headers, see:

Para establecer esta opción del compilador en el entorno de desarrollo de Visual StudioTo set this compiler option in the Visual Studio development environment

  1. Especifique /Yc (crear archivo de encabezado precompilado) en un archivo. cpp del proyecto.Specify /Yc (Create precompiled header file) on a .cpp file in your project.

  2. Abra el cuadro de diálogo Páginas de propiedades del proyecto.Open the project's Property Pages dialog box. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.For details, see Set C++ compiler and build properties in Visual Studio.

  3. Seleccione la página de propiedades propiedades de configuraciónde > encabezados precompilados deC/C++ > Precompiled Headers .Select the Configuration Properties > C/C++ > Precompiled Headers property page.

  4. Modifique la propiedad encabezado precompilado , la propiedad crear/usar PCH a través de archivo o la propiedad crear o usar encabezado precompilado .Modify the Precompiled Header property, the Create/Use PCH Through File property, or the Create/Use Precompiled Header property.

Para establecer esta opción del compilador mediante programaciónTo set this compiler option programmatically

EjemploExample

Si el código siguiente:If the following code:

#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.is compiled by using the command line CL /YuMYAPP.H PROG.CPP, the compiler doesn't process the three include statements. En su lugar, usa código precompilado de MYAPP.pch , que ahorra el tiempo implicado en el preprocesamiento de los tres archivos (y los archivos que puedan incluir).Instead, it uses precompiled code from MYAPP.pch, which saves the time involved in preprocessing all three of the files (and any files they might include).

Puede usar la /Fp (Name .pch file) opción con la /Yu opción de especificar el nombre del .pch archivo si el nombre es diferente del argumento filename a /Yc o el nombre base del archivo de código fuente, como en el ejemplo siguiente:You can use the /Fp (Name .pch file) option with the /Yu option to specify the name of the .pch file if the name is different from either the filename argument to /Yc or the base name of the source file, as in the following example:

CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP

Este comando especifica un archivo de encabezado precompilado denominado MYPCH.pch .This command specifies a precompiled header file named MYPCH.pch. El compilador usa su contenido para restaurar el estado precompilado de todos los archivos de encabezado hasta e incluyendo MYAPP.h .The compiler uses its contents to restore the precompiled state of all header files up to and including MYAPP.h. Después, el compilador compila el código que se produce después de la #include "MYAPP.h" Directiva *.The compiler then compiles the code that occurs after the #include "MYAPP.h"* directive.

Vea tambiénSee also

Opciones del compilador MSVCMSVC compiler options
Sintaxis de la línea de comandos del compilador MSVCMSVC compiler command-line syntax