社区
C++ 语言
帖子详情
包含越多的头文件程序就会运行的越慢吗?
Jarrys
2008-11-02 12:22:31
如题!
...全文
164
6
打赏
收藏
包含越多的头文件程序就会运行的越慢吗?
如题!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
太乙
2008-11-02
打赏
举报
回复
[Quote=引用 5 楼 October_1 的回复:]
只听说包含的头文件越多编译越慢
[/Quote]
肯定的~
October_1
2008-11-02
打赏
举报
回复
只听说包含的头文件越多编译越慢
060
2008-11-02
打赏
举报
回复
不会, 头文件只是对函数和类型的声明,不会涉及具体的函数实现。
信念
2008-11-02
打赏
举报
回复
从逻辑上说应该是
appleshao
2008-11-02
打赏
举报
回复
不
baihacker
2008-11-02
打赏
举报
回复
只是编译的时候可能编译得有点多...在这种情况下可以采用预编译.
头文件
重复
包含
和变量重复定义
在c或c++中,
头文件
重复
包含
问题是
程序
员必须避免的问题,也是很多新手容易犯错的问题。 为什么要避免
头文件
重复
包含
呢? 1.我们知道在编译c或c++
程序
时候,编译器首先要对
程序
进行预处理,预处理其中一项工作便是将你源
程序
中#include的
头文件
完整的展开,如果你有意或无意的多次
包含
相同的
头文件
,
会
导致编译器在后面的编译步骤多次编译该
头文件
,工程代码量小还好,工程量一大
会
使整个项
2个办法解决
头文件
重复
包含
的问题
在一些大型项目中,各种
头文件
会
相互
包含
,关系就显得错综复杂,同时由于文件的
包含
就是复制粘贴,那些重复
包含
的
头文件
就
会
使代码长度大大增加,那有没有什么办法解决这个问题呢?答案肯定是有的,这就涉及到条件编译了。
检查
头文件
是否互相
包含
头文件
互相
包含
是一种非常见的问题,一旦工程很大,这样的问题比较难排除,特别是间接互相引用的时候。在项目的移植中常常
会
遇到这些问题,而sourceinsight中又无法查找
头文件
包含
关系,所以特写了一个
程序
来解决此类问题。我还不知道是否有现成的解决办法,若有欢迎告知。
头文件
是否互相
包含
实际上是查找有向图中是否有环路的问题。思路比较简单,可以定义一个图的结构。考虑到这是一个稀疏图,所以我借助stl
头文件
重复
包含
一、
头文件
重复
包含
问题分析 1) 问题重现 举例说明。假设在某个C++
头文件
或 源文件 中,
包含
了A.h和B.h两个
头文件
: #include “A.h” #include “B.h” 事实上,在
头文件
B.h中也
包含
了
头文件
A的引用,即: #include"A.h" 这样在编译这个文件时,因为文件
包含
了 A.h 这个
头文件
,编译器展开这个
头文件
,知道了 A 这个类的定义了,接着展开B.h
头文件
,而在B.h
头文件
中也
包含
了A.h,在此展开A.h,于是类A就重复定义了。 以上就是
头文件
重复
包含
问题的重现过程
为什么
会
有
头文件
循环依赖?搜索路径?
头文件
包含
?如何
包含
头文件
最多只有一次?
有
头文件
的编程语言体系中,
头文件
的本意是给其他文件提供基本的类型、声明或者宏等讯息供参考,让编译器知晓这些类型讯息。一般的原则是,越是common的
头文件
会
被其他
头文件
依赖,即xxx.h很可能
会
包含
common.h. 但定义common以及不同
头文件
的依赖很可能陷入一个困境,大家都想要对方
头文件
的讯息,这就出现了
头文件
循环依赖。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章