首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PCH文件选择

PCH文件选择
EN

Stack Overflow用户
提问于 2013-10-29 15:03:51
回答 2查看 126关注 0票数 1

您正在尝试使用precompiled headers来“加速编译”。Xcode有一个名为YourProject_Prefix.pch的文件。您可以在其中包含任意数量的头文件。

我的问题是,您如何选择哪些头文件应该进入您的PCH?您应该将所有的头文件都扔到其中,还是说这并不是最优的呢?

EN

回答 2

Stack Overflow用户

发布于 2013-10-29 15:07:35

只需像下面这样导入您的头文件即可。

代码语言:javascript
复制
#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import "YourHeaderFile.h"
#endif

预编译头,特别是在构建应用程序期间,可能非常有用。.pch文件中的头只有在第一次编译时才会被编译,只有在头在将来发生变化时才会编译。如果您的应用程序导入了许多不会更改的框架/头;这可能会加速构建(编译),因为编译器将使用.pch,而不是每次编译时编译每个导入的框架/类。

票数 1
EN

Stack Overflow用户

发布于 2013-10-29 15:16:25

默认情况下,pch文件将包含在所有源文件中。

这意味着你真的应该只把头文件放在里面,这些文件或多或少是全局的,或者永远不会改变。我相信,将所有的头放入其中会减慢编译速度,因为每次您更改一个文件时,都会导致项目中的每个其他文件都必须重新编译。(我没有对此进行测试或研究)

以下是我的一个项目的示例:

代码语言:javascript
复制
#ifdef __OBJC__
    #import <Cocoa/Cocoa.h>
    #import "Errors.h"
    #import "Localization.h"
    #import "Logging.h"
#endif

另外,以C++的链接评论为例。C++使用模板,这样可以进入头文件,使编译所用的时间比在objective中看到的要长得多。在objective中,您可能只具有类型和接口,而不是头中的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19661889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档