7

我正在阅读这篇关于进口的文章,我有一个问题。默认情况下,prefix.pch 文件中的#import 是否会减慢编译时间?我应该删除它并仅在必要时导入吗?

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif
4

3 回答 3

10

不,它实际上提高了编译速度。

这是一个很好的教程,它实际上消除了使用 #import 语句和 .PCH 文件的所有困惑。它还详细介绍了 iOS7 中引入的称为“模块”的新事物。

于 2013-09-26T14:30:10.377 回答
0

这听起来可能有争议,但与每个人对模块的看法相反,我有完全相反的经历。我有,你会考虑,一个大项目(相当大的各种依赖项和库)。最近我开始注意到编译时间非常非常长(在 2014 Mac Pro 12 核和 32 GB RAM 上大约需要 5 分钟的正常构建时间和大约 15 分钟的“归档”时间)。

我通过简单地关闭所有库和项目上的 Enable Link Frameworks Automatically 以及 Enable Modules 来运行一个实验。我“存档”了 3 分钟存档。

我打开“启用模块”并做了同样的事情,正常情况下花了 15 分钟。奇怪而奇怪,但我坚持关闭这些选项。

于 2014-07-15T13:17:40.703 回答
0

从 Xcode 5 开始,有一个新特性引入了预编译源数据库。Xcode 5 基本上只编译一次所有必需的框架,将构建保存在数据库中,并且在编译代码时已经编译的部分使用。所以库中的任何内容都不会被多次编译。

所以我的猜测是,在使用 Xcode 5 时,您无需担心。

您可以在https://developer.apple.com/wwdc/videos/观看介绍此功能的 WWDC 2013 视频“Xcode 5 中的新功能”

如果我错了,请任何知情的人,随时纠正我。

于 2013-09-26T14:28:50.170 回答