C++中include头文件到底会发生什么事?
2011-04-24 20:50 Aga.J 阅读(682) 评论(0) 编辑 收藏 举报当xx.c文件在被编译的时候,第一步要做的就是预处理,而我们知道预处理会处理宏定义,条件编译,和头文件。但是到底是如何处理头文件的呢?预处理的最终结果可以看做是把头文件中的所有内容都放到xx.c文件中(当然这个是个递归过程)。这样一来,编译会花费更加长的时间,因为在编译器最终分析final.c的文件中的词法和语法时,它需要从头到尾一行一行的处理,所以xx.c文件中的真正需要执行的代码,可能需要经过很多行无效的处理后才到达。这样也提示我们不要随便将c文件需要的头文件include放在其对应的h文件中,这样会使得其他c文件include该h文件时带来不必要的开销。
更加详细的内容,请看这个博客http://yunli.blog.51cto.com/831344/275313,我也是从上面学到的。
作者:Aga.J
出处:http://www.cnblogs.com/aga-j
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
个人学习笔记仅供本人记录知识所用,不属发表性文章。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步