什么是Xcode中的Prefix.pch文件?
许多开发人员正在向Prefix.pch
中添加各种方便的macros。 但我的问题是什么Prefix.pch
文件。
-
如果我从我的
Xcode
删除Prefix.pch
文件,那么我的应用程序将运行? 或者会显示任何错误? 还是会在构build过程中崩溃? -
我如何运行我的应用程序没有
Prefix.pch
文件
预编译头文件
这是什么?
Prefix.pch
是一个预编译的头文件。 编译预编译头文件是为了加快编译速度 。 这些文件不是一遍又一遍parsing相同的头文件,而是提前一次parsing。
Xcode中
在Xcode中,您需要在“前缀头文件”中添加所需的头文件导入,并启用Precompile Prefix Header
以便进行预编译。 但是,前缀头文件的想法与预编译不同。
每个源文件的开头都隐含有一个前缀头文件。 这就像每个源文件添加
#import "Prefix.pch"
在文件的顶部,在其他之前。
删除它。
您可以删除预编译头。 这个问题已经在我下面链接的线程中得到了解答。 它包含您需要的所有信息以及有用的评论。
是否可以从Xcode项目中删除Prefix.pch文件?
什么是Prefix.pch文件?
.pch是一个预编译头文件。
在C和C ++编程语言中,头文件是一个文件,其文本可能被C预处理程序自动包含在另一个源文件中,通常通过使用源文件中的编译器指令来指定。
前缀头文件被编译并存储在caching中,然后在编译期间自动包含在每个文件中。 这可以加快编译速度,并且允许您在不使用导入语句的情况下包含文件。 他们不是必需的,而且每当你改变它们的时候,实际上编译都很慢。
是的,您可以编译并运行没有.pch文件的项目
在Xcode中,转到您的目标的构build设置(Command-Option-E,构build选项卡),并取消选中预编译前缀头(GCC_PRECOMPILE_PREFIX_HEADER)。 如果您愿意,也可以删除“前缀头”设置的值。
还要注意的是,
不要把macros放在a.pch文件中! 根据定义,.pch文件是项目特定的预编译头文件。 它真的不应该超出项目的上下文,它不应该包含任何东西,但#include和#imports。
如果你有一些macros,而且你想在头文件之间共享,那么把它们放在它们自己的头文件Common.h中或者其他的文件中,然后#include在.pch的开头
前缀头文件被编译并存储在caching中,然后在编译期间自动包含在每个文件中。 这可以加快编译速度,并且允许您在不使用导入语句的情况下包含文件。 它们不是必需的,每当你改变它们时,实际上编译速度都很慢。
通常.pch
文件命名格式是yourProjectName-Prefix.pch