Что такое файл Prefix.pch в Xcode?
Так много разработчиков добавляют различные удобные макросы в Prefix.pch
, Но мой вопрос в том, что это Prefix.pch
файл.
Если я уберу это
Prefix.pch
файл из моегоXcode
тогда будет ли запущено мое приложение? Или это покажет какую-либо ошибку? Или это будет сбой во время сборки?Как я могу запустить свое приложение без
Prefix.pch
файл
3 ответа
Предварительно скомпилированный заголовок.
Что это?
Prefix.pch
это предварительно скомпилированный заголовок Предварительно скомпилированные заголовки были изобретены для ускорения компиляции. Вместо того, чтобы анализировать одни и те же заголовочные файлы снова и снова, эти файлы анализируются один раз, заблаговременно.
Xcode
В XCode вы добавляете импорт файлов заголовков, которые вы хотите, в "заголовок префикса", и включаете Precompile Prefix Header
так что они предварительно скомпилированы. Но идея префиксного заголовка отличается от прекомпиляции.
Заголовок префикса неявно включается в начале каждого исходного файла. Это как каждый исходный файл добавляет
#import "Prefix.pch"
в верхней части файла, прежде чем что-либо еще.
Удаление это.
Вы можете удалить предварительно скомпилированный заголовок. На этот вопрос уже ответили в теме, на которую я ссылаюсь ниже. Он содержит всю необходимую информацию, а также полезные комментарии.
Что такое файл Prefix.pch?
.pch - заголовок прекомпиляции.
В языках программирования C и C++ заголовочный файл - это файл, текст которого может автоматически включаться препроцессором C в другой исходный файл, обычно это определяется использованием директив компилятора в исходном файле.
Заголовки префиксов компилируются и сохраняются в кэше, а затем автоматически включаются в каждый файл во время компиляции. Это может ускорить компиляцию и позволит вам включить файл без добавления оператора импорта в каждый файл, использующий его. Они не требуются, и на самом деле медленная компиляция, когда вы их меняете.
Да, вы можете скомпилировать и запустить проект без файла.pch
В Xcode перейдите к настройкам сборки вашей цели (Command-Option-E, вкладка build) и снимите флажок Precompile Prefix Header (GCC_PRECOMPILE_PREFIX_HEADER). Вы также можете удалить значение параметра Заголовок префикса, если хотите.
Также обратите внимание, что
Не помещайте макросы в файл.pch! Файл.pch по определению является прекомпилированным заголовком конкретного проекта. Он действительно не должен использоваться вне контекста проекта, и он не должен содержать ничего, кроме #include и #imports.
Если у вас есть какие-то макросы и такие, которые вы хотите разделить между заголовками, вставьте их в собственный файл заголовка - Common.h или любой другой - и #include, что в начале.pch
Заголовки префиксов компилируются и сохраняются в кэше, а затем автоматически включаются в каждый файл во время компиляции. Это может ускорить компиляцию и позволит вам включить файл без добавления оператора импорта в каждый файл, использующий его. Они не требуются, и на самом деле медленная компиляция, когда вы их меняете.
В общем-то .pch
формирование имен файлов yourProjectName-Prefix.pch
История:
#include => #import => .pch
Предварительно скомпилированные заголовки - prefix.pch
#include
против @import
имеет недостаток - медленное время сборки, потому что компилятор должен анализировать и компилировать столько раз, сколько.h
файлы были импортированы.
Precompiled header file - .pch
- собирает общие заголовки. Когда этот файл является предварительно скомпилированным, его можно использовать в исходных файлах, что ускоряет время сборки.
Давайте посмотрим на Prefix.pch
образец:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
Добавить .pch
файл перейти к Build Settings
:
Разработчик должен управлять .pch
файл, который требует дополнительных затрат на его поддержку.
Следующий шаг @import
[Около]