- XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)
-
@ 取消的原因:<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD48cD4gICAgICBTdGFja292ZXJmbG93yc/T0NK7uPbIy7bUtMu1xL3iys3Kx9Xi0fm1xKO6PGJyIC8+ICAgICAgIEkgc3VzcGVjdCBiZWNhdXNlIG9mIG1vZHVsZXMsIHdoaWNoIHJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIDxjb2RlPiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPi48L2NvZGU+PGJyIC8+ICAgICAgIEFzIHRvIHdoZXJlIHRvIHB1dCBjb2RlIHRoYXQgeW91IHdvdWxkIHB1dCBpbiBhIHByZWZpeCBoZWFkZXIsIHRoZXJlIGlzIG5vIGNvZGUgeW91IHNob3VsZCBwdXQgaW4gYSBwcmVmaXggaGVhZGVyLiBQdXQgeW91ciBpbXBvcnRzIGludG8gdGhlIGZpbGVzIHRoYXQgbmVlZCB0aGVtLiBQdXQgeW91ciBkZWZpbml0aW9ucyBpbnRvIHRoZWlyIG93biBmaWxlcy4gUHV0IHlvdXIgbWFjcm9zLi4ubm93aGVyZS4gU3RvcCB3cml0aW5nIG1hY3JvcyB1bmxlc3MgdGhlcmUgaXMgbm8gb3RoZXIgd2F5IChzdWNoIGFzIHdoZW4geW91IG5lZWQgX19GSUxFX18pLiBJZiB5b3UgZG8gbmVlZCBtYWNyb3MsIHB1dCB0aGVtIGluIGEgaGVhZGVyIGFuZCBpbmNsdWRlIGl0LjxiciAvPiAgICAgICBUaGUgcHJlZml4IGhlYWRlciB3YXMgbmVjZXNzYXJ5IGZvciB0aGluZ3MgdGhhdCBhcmUgaHVnZSBhbmQgdXNlZCBieSBuZWFybHkgZXZlcnl0aGluZyBpbiB0aGUgd2hvbGUgc3lzdGVtIChsaWtlIEZvdW5kYXRpb24uaCkuIElmIHlvdSBoYXZlIHNvbWV0aGluZyB0aGF0IGh1Z2UgYW5kIHViaXF1aXRvdXMsIHlvdSBzaG91bGQgcmV0aGluayB5b3VyIGFyY2hpdGVjdHVyZS4gUHJlZml4IGhlYWRlcnMgbWFrZSBjb2RlIHJldXNlIGhhcmQsIGFuZCBpbnRyb2R1Y2Ugc3VidGxlIGJ1aWxkIHByb2JsZW1zIGlmIGFueSBvZiB0aGUgZmlsZXMgbGlzdGVkIGNhbiBjaGFuZ2UuIEF2b2lkIHRoZW0gdW50aWwgeW91IGhhdmUgYSBzZXJpb3VzIGJ1aWxkIHRpbWUgcHJvYmxlbSB0aGF0IHlvdSBjYW4gZGVtb25zdHJhdGUgaXMgZHJhbWF0aWNhbGx5IGltcHJvdmVkIHdpdGggYSBwcmVmaXggaGVhZGVyLjxiciAvPiAgICAgICBJbiB0aGF0IGNhc2UgeW91IGNhbiBjcmVhdGUgb25lIGFuZCBwYXNzIGl0IGludG8gY2xhbmcsIGJ1dCBpdA=="s
incredibly rare that it's a good idea.
翻译过来 大致就是说 也许是因为组件单一模块的原因,所以 放弃了对的import
你不应该在你的prefix代码中放入任何的代码,把他们放在你确实需要放入的文件中。把你的定义放到属于他们的文件中。 尽量不要使用宏定义(define)。。除非是非不得已的时候,(这里 插一句 不使用宏定义的原因是 宏定义是在预编译的时候处理的 因此 当你修改宏定义的时候 会导致大量的代码被重新编译 另外 宏定义存在许多潜在的bug 是因为在预编译的时候,他并不会被发觉到的)。如果你确实 在被逼无奈需要使用宏定义,把他们放在需要被include的头文件中,而不是放在prefix文件中。
prefix header文件是被那些大量使用 以及 几乎所有系统中的文件都需要被使用(例如 Foundation.h)。如果 你有一些东西大量存在,你应该重新思考你的架构问题你。因为 当你修改你prefix header的一些代码的时候,prefix
header导致整个项目重新编译,这让你的代码重用变得困难,并且导致一些琐碎build的问题。所以 不要去使用prefix header 这样可以避免你大量的重新编译整个项目的时间
如果你仍然想要使用预编译,你可以创建一个新的并且传递给编译器的前段,这种方法很少见(我没用过),但确实是一个不错的方法@ 还可以参考:XcodePrecompilePrefixHeader浅析