在头文件之前包含其他头文件与在源文件前包含头文件有什么区别 (使用头文件)

本文目录导航:

在头文件之前包含其他头文件与在源文件前包含头文件有什么区别

相同点:头文件与源代码都是源文件,都用纯文本文件存储,都需要遵照C/C++语言规范来写,都可以使用类型定义和常、变量定义,都可以包含函数的声明和实现,都能包含宏定义,都使用相同的调用规范。

不同点:C/C++的编译器规定源代码文件必须包含函数入口,即main函数,或者winmain函数。

而头文件不得包含函数入口,也就是说,头文件不可以单独编译成一个程序,仅仅包含程序片断或者仅仅定义常、变量。

关联:头文件是专为源代码调用而写的静态包含文件,可被源代码文件中的#include编译预处理指令解释,而将头文件完整拷贝到源代码的指令处,从而在编译时相当于在源代码中插入了函数声明或者实现。

某些头文件包含了静态库中的函数调用声明,包含了LIB文件的调用信息,编译时静态链接进程序;而某些头文件是专为方便API调用而写的,里面包含了动态链接库的调用信息和规范,只有在运行时将DLL载入内存提取函数执行。

也就是说,其实你将头文件里的信息完全写到源代码里,是可以实现完全相同的功能的。

如果你想要学写头文件,可以参照标准C/C++库的h文件。

在头文件之前包含其他头文件与在源文件前包含头文件有什么区别 (使用头文件)

头文件中都放什么东西?

一般来说如果一个程序包含了头文件和实现文件比如C++的,CPP为实现文件而H就为头文件.那么通常情况下一些变量的声明,函数声明,类声明,结构体的定义这些东西一般都放在头文件中.而实现文件则是这些函数具体的实现方法等.而有些人编写的时候可能没有头文件,只有个实现文件(很多人用VC写的控制台程序就这样),这不能说他没有声明,只是他把声明写在了实现文件里,这也是可以的.另外有个特点,拿VC的编译器来说,他只会编译实现文件()而当实现文件里遇到编译器的包含指令 #include 的时候他就会自动展开这个包含的头文件,所以有些时候引用头文件的顺序还有很微妙的关系,先引用哪个后引用哪个非常微妙,这个等遇到了自然就知道了.附带一句:头文件是不参加编译的.

一个头文件中包含另一个大头文件有什么坏处 ?

个人理解1) 编译速度会变慢很多2) 头文件互相依赖过多时,其中一个头文件改了,就会导致大量的cpp要重新编译.而尽量只在cpp中包含, 就有能把依赖关系降到最小. 当你需要维护一份几十万行的代码时, 你就知道这种影响有多大了. 我曾整理一个工程, 只是简化了头文件的依赖, 编译速度立马上升3倍.

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

85阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

84阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

77阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读