Dos opciones para precompilar código
Actualización: noviembre 2007
Con Visual C++, se puede precompilar cualquier código C o C++, no sólo archivos de encabezado.
La precompilación requiere planificación, pero proporciona compilaciones mucho más rápidas si se precompila código fuente que no sea de archivos de encabezado sencillos.
Precompile código cuando sepa que los archivos de código fuente usan conjuntos de archivos de encabezado comunes, pero no los incluyen en el mismo orden, o cuando desee incluir código fuente en la precompilación.
Las opciones de encabezados precompilados son /Yc (Crear archivo de encabezado precompilado) y /Yu (Utilizar el archivo de encabezado precompilado). Utilice /Yc para crear un encabezado precompilado. Cuando se utiliza con el pragma opcional hdrstop, /Yc permite precompilar tanto archivos de encabezado como de código fuente. Seleccione /Yu para utilizar un encabezado precompilado existente en la compilación activa. También puede usar /Fp con las opciones /Yc e /Yu para proporcionar un nombre alternativo para el encabezado precompilado.
Los temas de referencia de opciones del compilador para /Yu e /Yc tratan de cómo tener acceso a esta funcionalidad en el entorno de desarrollo.
Generar un archivo PCH
Puede utilizar un archivo PCH para generar otro de un modo bastante simple.
cl -c -Yc"stuff.h" -Fplevel1.pch level1.cpp
cl -c -Yu"stuff.h" -Fplevel1.pch -Yc level2.cpp
El archivo level2.cpp presenta el siguiente aspecto:
#include "stuff.h"
#include "morestuff.h"
#pragma hdrstop("level2.pch")
El siguiente comando genera level2.pch, que se puede utilizar en posteriores compilaciones:
cl -c -Yu"morestuff.h" -Fplevel2.pch mysource.cpp
Observe que sólo es necesario poner la directiva #pragma hdrstop en el archivo que genera el segundo archivo PCH; no hay que ponerla en todos los archivos .cpp que utilizan el PCH. Los archivos que usan el PCH pueden nombrar el archivo morestuff.h en la línea de comandos, de modo que no es necesario editar todos los archivos para que lo utilicen. Cualquiera de los métodos para precompilar código, automático o manual, almacena el código precompilado resultante en un encabezado precompilado.
Más información
Para obtener más ejemplos sobre el uso de encabezados precompilados, vea los archivos MAKE utilizados para generar los programas de ejemplo que se suministran con la biblioteca de MFC (Microsoft Foundation Class).