什么是Xcode中的Prefix.pch文件?

S R*_*yak 93 xcode ios

许多开发人员正在添加各种便利宏Prefix.pch.但我的问题是该Prefix.pch文件是什么.

  • 如果我Prefix.pch从我的文件中删除该文件Xcode,那么我的应用程序会运行吗?或者它会显示任何错误?或者它会在构建期间崩溃吗?

  • 如何在没有Prefix.pch文件的情况下运行应用程序

Raf*_*fAl 108

预编译头.

这是什么?

Prefix.pch是一个预编译的头文件.发明预编译头文件,使编译速度更快.这些文件不是一遍又一遍地解析相同的头文件,而是提前解析一次.

Xcode中

在Xcode中,您可以在"前缀标头"中添加所需的头文件导入,并启用Precompile Prefix Header它们以进行预编译.但前缀标题背后的想法与预编译不同.

前缀头隐式包含在每个源文件的开头.就像每个源文件一样

#import "Prefix.pch"
Run Code Online (Sandbox Code Playgroud)

在文件的顶部,在其他任何事情之前.

删除它.

您可以删除预编译的标头.这个问题已经在我正在链接的线程中得到了回答.它包含您需要的所有信息以及有用的注释.

可以从Xcode项目中删除Prefix.pch文件吗?


Hem*_*ang 22

什么是Prefix.pch文件?

.pch是一个预编译头.

在C和C++编程语言中,头文件是一个文件,其文本可以由C预处理器自动包含在另一个源文件中,通常通过在源文件中使用编译器指令来指定.

前缀标头被编译并存储在缓存中,然后在编译期间自动包含在每个文件中.这可以加快编译速度,并允许您包含文件而无需为使用它的每个文件添加import语句.它们不是必需的,并且每当您更改它们时实际上都会减慢编译速度.

是的,您可以在没有.pch文件的情况下编译和运行项目

在Xcode中,转到目标的构建设置(Command-Option-E,构建选项卡)并取消选中预编译前缀头(GCC_PRECOMPILE_PREFIX_HEADER).如果需要,您还可以删除前缀标题设置的值.

另请注意,

不要将宏放在a.pch文件中!根据定义,.pch文件是项目特定的预编译头.它实际上不应该在项目的上下文之外使用,除了#includes和#imports之外它实际上不应该包含任何内容.

如果你有一些宏,并且想要在标题之间共享,那么将它们粘贴在他们自己的头文件中 - Common.h或者其他 - 并且#include在.pch的开头.


iPa*_*tel 7

前缀标头被编译并存储在缓存中,然后在编译期间自动包含在每个文件中.这可以加快编译速度,并允许您包含文件而无需为使用它的每个文件添加import语句.它们不是必需的,并且每当您更改它们时实际上都会减慢编译速度.

通常.pch文件命名形成是yourProjectName-Prefix.pch