现在的位置: 首页 > 综合 > 正文

头文件的作用

2013年10月05日 ⁄ 综合 ⁄ 共 672字 ⁄ 字号 评论关闭

 

从编译的角度来认识头文件的作用:
主要用于类型检查,检查函数的参数及返回类型是否有错(头文件里面包含声明,与程序文件里面的调用应该保持一致)。
至于函数的实现是在函数库里面,在link连接阶段复制到你的程序编译而成的obj文件里面。
这样你的程序才能运行。就像tc里面的include目录里的文件就是头文件,lib目录里面放的就是其对应的实现。 
其他观点:
(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需按照头文件中的接口声明来调用库函数,而不必关心接口是怎么实现的。连接器会从库中提取相应的代码,并和用户的程序连接生成可执行文件或者动态连接库文件; 

(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时的方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担; 

(3)头文件可以提高程序的可读性(清晰性)。 

头文件中的元素比较多,其顺序(结构)一般应安排如下: 

(1)头文件注释(包括文件说明、功能描述、版权声明等)(必须有); 

(2)内部包含卫哨开始(#ifndef XXX/#define XXX)(必须有); 

(3)#include其他头文件(如果需要); 

(4)外部变量和全局函数声明(如果需要); 

(5)常量和宏定义(如果需要); 

(6)类型前置声明和定义(如果需要); 

(7)全局函数原型和内联函数的定义(如果需要); 

(8)内部包含卫哨结束:#endif   // XXX(必须有); 

(9)文件版本及修订说明。

 

抱歉!评论已关闭.