C++头文件

头文件:

预编开始第一步:会把头文件的全部内容直接"黏贴"到相应的#include处
头文件不能单独编译,需要一个 .cpp文件来生成 .pch 文件.
 

头文件的结构

头文件组成:
1 头文件开头处的版权和版本声明(参见示例1-1)。
2 预处理块。
3 函数和类结构声明等。
 
假设头文件名称为 graphics.h,头文件的结构参见示例1-2。
1 为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。
2 用 #include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
3 用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索,工作目录没有还会继续搜索标准库目录)。
4 头文件中只存放“声明”而不存放“定义”
在C++ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。
5 不提倡使用全局变量,尽量不要在头文件中出现象extern int value 这类声明。
 

头文件的作用

1 CC++采用源文件单独编译为object文件,最后有链接器链接object文件成为可执行文件。头文件解决了彼源文件中变量和函数在此源文件中引用。
2 头文件中的函数接口和全局变量起占位符的作用和参数类型与表达式匹配的合法行检测的作用,早期的C编译器不具有后者的功能。
3 便于一二进制的形式发行类库,隐藏源码实现的细节。
 

头文件预编译

把一个工程(Project)中使用的一些标准头文件(如Windows.H、stdio.h)或者那些稳定的,不会被频繁修改的代码或者其它头文件预先编译,以后编译该工程时,不再编译这部分代码和头文件,仅仅使用预编译的结果(.pch文件)。这样可以加快编译速度,节省时间。(注意:如果包含在预编译头文件的这些代码被修改,则需要重新编译生成预编译头文件,而生成预编译头文件很耗时间。)
原文地址:https://www.cnblogs.com/nafio/p/9137716.html