在Objective-C中包含头文件的成本

前端之家收集整理的这篇文章主要介绍了在Objective-C中包含头文件的成本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎是一个非常愚蠢的问题,但是在Objective-C中包含(实际上是调用#import)头文件的成本是多少?我厌倦了在不同地点不断地包含相同的标题,所以我决定简单地创建一个包含几个常用引用标题的GlobalReferences.h文件.

如果没有使用其他文件,是否有可观的成本?我的直觉告诉我“不”,因为在使用#import时,链接器似乎知道其他文件,但是我不知道如果需要特别注意iPhone开发,这是我的项目所关心的.有什么想法吗?

解决方法

链接器对#imported文件一无所知.事实上,Objective-C编译器对它们也不了解,它们由预处理器进行预处理.预处理器有效地将头文件内容插入到源文件中.实际的Objective-C编译器就必须处理额外的函数原型和类接口定义,即使它们没有被使用.虽然这通常不是一项冗长的任务,但可以增加编译时间.您应用程序的最终大小和性能应保持不受影响.

看看原始源代码的样子(包括所有头文件和扩展宏等):

gcc -E your-source-file.m

猜你在找的C&C++相关文章