Muchos desarrolladores están agregando varias macros de conveniencia al Prefix.pch
. Pero mi pregunta es qué es ese Prefix.pch
archivo.
Si elimino ese
Prefix.pch
archivo de miXcode
, ¿se ejecutará mi aplicación? ¿O mostrará algún error? ¿O se bloqueará durante la construcción?¿Cómo puedo ejecutar mi aplicación sin
Prefix.pch
archivo?
Respuestas:
Encabezado precompilado.
¿Qué es?
A
Prefix.pch
es un encabezado precompilado. Los encabezados precompilados se inventaron para acelerar la compilación . En lugar de analizar los mismos archivos de encabezado una y otra vez, estos archivos se analizan una vez, antes de tiempo.Xcode
En Xcode, agrega importaciones de los archivos de encabezado que desea en un "encabezado de prefijo" y habilita
Precompile Prefix Header
para que se compilen previamente. Pero la idea detrás de un encabezado de prefijo es diferente a la de precompilar.Un encabezado de prefijo se incluye implícitamente al comienzo de cada archivo fuente. Es como si cada archivo fuente agregara
en la parte superior del archivo, antes que nada.
Quitándolo.
Puede eliminar el encabezado precompilado. Esta pregunta ya ha sido respondida en el hilo que estoy vinculando a continuación. Contiene toda la información que necesita, así como comentarios útiles.
¿Está bien eliminar el archivo Prefix.pch del proyecto Xcode?
fuente
¿Cuál es el archivo Prefix.pch?
Un .pch es un encabezado precompilado.
En los lenguajes de programación C y C ++, un archivo de encabezado es un archivo cuyo texto puede ser incluido automáticamente en otro archivo fuente por el preprocesador C, generalmente especificado por el uso de directivas del compilador en el archivo fuente.
Los encabezados de prefijo se compilan y almacenan en un caché, y luego se incluyen automáticamente en cada archivo durante la compilación. Esto puede acelerar la compilación y le permite incluir un archivo sin agregar una declaración de importación a cada archivo que lo use. No son obligatorios y, de hecho, la compilación es lenta cada vez que los cambia.
Sí, puede compilar y ejecutar el proyecto sin el archivo .pch
En Xcode, vaya a la configuración de compilación de su objetivo (Comando-Opción-E, pestaña de compilación) y desmarque Precompile Prefix Header (GCC_PRECOMPILE_PREFIX_HEADER). También puede eliminar el valor de la configuración del encabezado de prefijo si lo desea.
También tenga en cuenta que,
¡No coloque macros en un archivo.pch! Un archivo .pch es, por definición, un encabezado precompilado específico del proyecto. Realmente no debería usarse más allá del contexto del proyecto y realmente no debería contener nada más que #includes e #imports.
Si tiene algunas macros y desea compartirlas entre encabezados, colóquelas en un archivo de encabezado propio, Common.ho lo que sea, y #incluya eso al principio del .pch
fuente
Los encabezados de prefijo se compilan y almacenan en un caché, y luego se incluyen automáticamente en cada archivo durante la compilación. Esto puede acelerar la compilación y le permite incluir un archivo sin agregar una declaración de importación a cada archivo que lo use. No son obligatorios y, de hecho, la compilación es lenta cada vez que los cambia.
Generalmente
.pch
la formación de nombres de archivos esyourProjectName-Prefix.pch
fuente
Historia:
#incluir vs #importar
Encabezados precompilados: prefix.pch
#include
vs@import
tiene una desventaja: el tiempo de compilación es lento porque un compilador debe analizar y compilar tantas veces como.h
archivos importados.Precompiled header file - .pch
: recopila los encabezados comunes. Cuando este archivo está precompilado, se puede usar en archivos de origen, lo que acelera el tiempo de compilación.Echemos un vistazo a la
Prefix.pch
muestra:Para agregar un
.pch
archivo, vaya aBuild Settings
:El desarrollador tiene que administrar el
.pch
archivo que impone costos adicionales para respaldarlo.El siguiente paso es
@import
[Acerca de]fuente