c++ visual-c++ precompiled-headers stdafx.h

c++ - Propósito de stdafx.h



visual-c++ precompiled-headers (4)

stdafx.h es un archivo, generado por los asistentes IDE de Microsoft Visual Studio, que describe tanto el sistema estándar como los archivos de inclusión específicos del proyecto que se utilizan con frecuencia pero casi nunca cambian . Los compiladores compatibles (por ejemplo, Visual C ++ 6.0 y posterior) precompilarán este archivo para reducir los tiempos generales de compilación .

Visual C ++ no compilará nada antes del #include "stdafx.h" en el archivo fuente , a menos que la opción de compilación /Yu''stdafx.h'' esté desmarcada (por defecto); asume que todo el código en la fuente hasta e incluyendo esa línea ya está compilado.

http://en.wikipedia.org/wiki/Precompiled_header

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es el propósito del archivo stdafx.h qué se entiende por encabezados precompilados ?



Normalmente se usa para el nombre de encabezados precompilados. Aunque no se requiere el uso de ese nombre exacto, solo el predeterminado. Explico más sobre encabezados precompilados en VC ++ y g ++ aquí .

Utiliza encabezados precompilados para una compilación más rápida.

La idea es que coloque cualquier archivo de encabezado que no cambie y que use en varios archivos fuente dentro de su encabezado precompilado. Entonces el compilador no necesitará reprocesar esos encabezados para cada unidad de compilación.


Para ampliar las otras excelentes respuestas:

stdafx.h es el archivo que incluye todos los encabezados comúnmente utilizados para un solo proyecto. Esto incluiría todas las definiciones de Windows, por ejemplo. Debido a que este archivo incluye muchas cosas, el compilador se ralentiza al procesarlo. Al precompilarlo, el compilador puede omitir gran parte del procesamiento y reutilizarlo una y otra vez; siempre que ninguno de los archivos incluidos cambie, el resultado precompilado no necesita cambiar tampoco.

El nombre stdafx.h es solo una convención. Podrías cambiarle el nombre fácilmente a otra cosa si cambias todas tus fuentes para incluir el nuevo archivo.

Para producir el archivo de encabezado precompilado real, necesita un archivo de origen en el proyecto que tenga indicadores de compilación especiales para producir resultados precompilados. Por convención, este archivo se llama stdafx.cpp , y si inspecciona la configuración de ese archivo fuente, verá cómo es diferente.