这似乎是一个非常愚蠢的问题,但是#import
在Objective-C 中包含(实际上,调用)头文件的成本是多少?我厌倦了不断在不同位置包含相同的标题,所以我决定只创建一个GlobalReferences.h
包含几个常用标题的文件.
如果不使用其他文件,是否有任何可观的成本包括对其他文件的引用?我的直觉告诉我"不",因为看起来链接器在使用时只是意识到其他文件#import
,但我不确定是否需要特别考虑iPhone开发,这是我的项目所关注的.有什么想法吗?
链接器对#import
ed文件一无所知.事实上,Objective-C编译器对它们一无所知,它们由预处理器预处理.预处理器有效地将标题的内容插入到源文件中包含它们的点.然后,实际的Objective-C编译器必须处理额外的函数原型和类接口定义,即使它们没有被使用.虽然这通常不是一项冗长的任务,但它可能会增加编译时间.应用程序的最终大小和性能应保持不受影响.
要查看原始源代码的外观(包括所有头文件和扩展宏等):
gcc -E your-source-file.m