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

在Objective-C中包含头文件的成本,第1张

概述这似乎是一个非常愚蠢的问题,但是在Objective-C中包含(实际上是调用#import)头文件的成本是多少?我厌倦了在不同地点不断地包含相同的标题,所以我决定简单地创建一个包含几个常用引用标题的GlobalReferences.h文件. 如果没有使用其他文件,是否有可观的成本?我的直觉告诉我“不”,因为在使用#import时,链接器似乎知道其他文件,但是我不知道如果需要特别注意iPhone开发 这似乎是一个非常愚蠢的问题,但是在Objective-C中包含(实际上是调用#import)头文件的成本是多少?我厌倦了在不同地点不断地包含相同的标题,所以我决定简单地创建一个包含几个常用引用标题的GlobalReferences.h文件.

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

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

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

gcc -E your-source-file.m
总结

以上是内存溢出为你收集整理的在Objective-C中包含头文件的成本全部内容,希望文章能够帮你解决在Objective-C中包含头文件的成本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1258140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存