Answers:
A Prefix.pch
是预编译的头文件。发明了预编译头文件,以使编译速度更快。这些文件不是一遍又一遍地解析相同的头文件,而是提前被解析一次。
在Xcode中,可以在“前缀标头”中添加所需的标头文件的导入,并启用Precompile Prefix Header
它们,以便对其进行预编译。但是前缀标头背后的思想与预编译不同。
前缀标头隐式包含在每个源文件的开头。就像每个源文件都添加了
#import "Prefix.pch"
在文件顶部,然后再进行其他操作。
您可以删除预编译的头文件。我在下面链接的线程中已经回答了这个问题。它包含您需要的所有信息以及有用的注释。
.pch是预编译的头。
在C和C ++编程语言中,头文件是一个文件,其文本可能会被C预处理程序自动包含在另一个源文件中,通常是通过在源文件中使用编译器指令来指定的。
前缀标头被编译并存储在缓存中,然后在编译过程中自动包含在每个文件中。这样可以加快编译速度,并允许您包含文件而无需在使用该文件的每个文件中添加导入语句。它们不是必需的,并且实际上在您更改它们时会减慢编译速度。
在Xcode中,转到目标的构建设置(Command-Option-E,构建选项卡),然后取消选中“预编译前缀头”(GCC_PRECOMPILE_PREFIX_HEADER)。如果需要,您还可以删除“前缀标题”设置的值。
不要将宏放在a.pch文件中!根据定义,.pch文件是项目特定的预编译头。实际上,不应在项目上下文之外使用它,并且除了#includes和#imports之外,它不应包含任何内容。
如果您有一些宏,并且希望在标头之间共享,请将'em'粘贴到它们自己的标头文件(Common.h或其他文件)中,并在.pch开头#include
历史:
#include => #import => .pch
预编译头-prefix.pch
#include
vs @import
具有一个缺点-生成时间慢,因为编译器必须解析和编译.h
导入的文件次数。
Precompiled header file - .pch
-收集公共标题。当此文件被预编译时,可以在源文件中使用,这可以加快构建时间。
让我们看一下Prefix.pch
示例:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
要添加.pch
文件,请转到Build Settings
:
开发人员必须管理.pch
文件,这会增加支持文件的成本。
下一步是@import
[关于]