头文件中都放什么东西 (头文件里包含头文件)

本文目录导航:

头文件中都放什么东西?

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

头文件中都放什么东西 (头文件里包含头文件)

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

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

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

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

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

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

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

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

一个头文件可以包含另一头文件吗?

这是个风格问题, 因此有不少的争论。

很多人认为“嵌套包含文件”应该避免:盛名远播的“印第安山风格指南”(Indian Hill Style Guide) 对此嗤之以鼻; 它让相关定义更难找到; 如果一个文件被包含了两次, 它会导致重复定义错误; 同时他会令 makefile 的人工维护十分困难。

另一方面, 它使模块化使用头文件成为一种可能 (一个头文件可以包含它所需要的一切, 而不是让每个源文件都包含需要的头文件); 类似 grep 的工具 (或 tags 文件) 使搜索定义十分容易, 无论它在哪里; 一种流行的头文件定义技巧是:#ifndef HFILENAME_USED#define HFILENAME_USED... 头文件内容 ...#endif每一个头文件都使用了一个独一无二的宏名。

这令头文件可自识别,以便可以安全的多次包含; 而自动 Makefile 维护工具 (无论如何, 在大型项目中都是必不可少的) 可以很容易的处理嵌套包含文件的依赖问题。

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

相关推荐

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

2025年05月10日

82阅读

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

2025年05月09日

87阅读

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

2025年05月09日

86阅读

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

2025年05月09日

78阅读

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

2025年05月09日

63阅读

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

2025年05月09日

91阅读