¿Qué son exactamente los encabezados precompilados? cuando se usan?Encabezados precompilados
Respuesta
Los encabezados precompilados son una optimización utilizada durante el proceso de compilación.
Básicamente, si compila algo como stdio.h
con exactamente las mismas definiciones y entorno, puede suponer con seguridad que el resultado será el mismo cada vez.
Así que el compilador recuerda la versión "compilada" de ese encabezado para que no tenga que volver a hacerlo.
En realidad, tiende a ser el primer grupo de cabeceras que hace la diferencia es así, si cada uno de los archivos de origen se inicia con:
#define XYZZY 42
#include <stdio.h>
#include <stdlib.h>
el primero compila por completo, pero recuerda el estado inmediatamente después esa tercera línea. El siguiente puede simplemente tirar esas tres líneas totalmente y cargar el estado guardado antes de continuar compilando el resto del archivo.
La primera vez que vi esta característica fue en Windows con su archivo de cabecera masivawindows.h
y, créeme, que hizo una gran diferencia en los tiempos de construcción en general.
- 1. encabezados precompilados con GCC
- 2. Encabezados precompilados con Autotools
- 3. Compartir encabezados precompilados de manera eficiente
- 4. Encabezados precompilados en archivos de encabezado
- 5. Cómo implementar encabezados precompilados en su proyecto
- 6. Encabezados precompilados con C y C mixtos
- 7. ¿Por qué utilizar encabezados precompilados (C/C++)?
- 8. Pregunta sobre los encabezados precompilados en Visual C++
- 9. ¿Es seguro eliminar la carpeta "ipch" - encabezados precompilados?
- 10. ¿Qué contienen los encabezados precompilados de Visual Studio?
- 11. Deshabilitar encabezados precompilados para un archivo específico en un proyecto de VC++ 2010
- 12. ¿Hay alguna manera de usar encabezados precompilados en VC++ sin requerir stdafx.h?
- 13. Sin aceleración con encabezados precompilados en gcc (pero gran aceleración con Visual Studio)
- 14. ¿Cuáles son los pros y los contras de los encabezados precompilados específicamente en un entorno GNU/Linux/cadena de herramientas?
- 15. rieles Cómo subir activos precompilados a Cloudfront
- 16. Creando varios archivos de encabezado precompilados utilizando GNU make
- 17. Cómo usar archivos de encabezado precompilados en Android NDK
- 18. ¿Cuál es el significado de "procedimientos almacenados precompilados"?
- 19. Empaquetado de binarios precompilados dentro de una gema
- 20. .libs precompilados para impulsar en 64 bit VC++ 2010
- 21. Rails 3.2.1, activos precompilados dos veces en la implementación?
- 22. Creando paquetes .deb a partir de binarios precompilados?
- 23. ¿Por qué Visual Studio 2010 crea archivos de encabezado precompilados aunque no lo solicite?
- 24. Analizando encabezados HTTP
- 25. Encabezados verticales en JTable?
- 26. jqgrid desactivar encabezados
- 27. JSF, sobrescribir encabezados HTTP
- 28. Encabezados personalizados con pycurl
- 29. Encabezados en OperationContext
- 30. Enviar encabezados en python
posible duplicado de [Encabezados precompilados] (http://stackoverflow.com/questions/1293538/precompiled-headers). Ver también: [¿Por qué usar encabezados precompilados (C/C++)?] (Http://stackoverflow.com/questions/903228/why-use-precompiled-headers-c-c) –