¿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. ¿Por qué utilizar encabezados precompilados (C/C++)?
- 4. Encabezados precompilados en archivos de encabezado
- 5. Encabezados precompilados con C y C mixtos
- 6. Compartir encabezados precompilados de manera eficiente
- 7. Cómo implementar encabezados precompilados en su proyecto
- 8. ¿Es seguro eliminar la carpeta "ipch" - encabezados precompilados?
- 9. ¿Qué contienen los encabezados precompilados de Visual Studio?
- 10. Pregunta sobre los encabezados precompilados en Visual C++
- 11. ¿Hay alguna manera de usar encabezados precompilados en VC++ sin requerir stdafx.h?
- 12. Deshabilitar encabezados precompilados para un archivo específico en un proyecto de VC++ 2010
- 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. Creando paquetes .deb a partir de binarios precompilados?
- 18. Cómo usar archivos de encabezado precompilados en Android NDK
- 19. .libs precompilados para impulsar en 64 bit VC++ 2010
- 20. Rails 3.2.1, activos precompilados dos veces en la implementación?
- 21. Empaquetado de binarios precompilados dentro de una gema
- 22. ¿Cuál es el significado de "procedimientos almacenados precompilados"?
- 23. ¿Por qué Visual Studio 2010 crea archivos de encabezado precompilados aunque no lo solicite?
- 24. Encabezados ListView no aparecen
- 25. Enviar encabezados en python
- 26. Qt ¿qué encabezados incluir?
- 27. Encabezados personalizados con pycurl
- 28. JSF, sobrescribir encabezados HTTP
- 29. Encabezados de columna diagonales
- 30. Encabezados verticales en JTable?
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) –