第一章 文件的结构
程序通常包含两类文件。一类文件用于保存程序的声明,称为头文件。另一个文件用于保存程序的实现,称为
定义文件。个人以为,在使用java或C#这样的面向对象语言时,通常都是一个类做成一个文件。
1.头文件的结构:
(1)文件的版权、功能、版本、历史说明;
(2)预编译(处理)
(3)函数和类的定义
【规则】为了防止头文件被重复引用,应当用#ifndef/#define/#endif 结构产生预处理块。
【规则】用#include <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
【规则】用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户工作目录开始搜索)。
2.定义文件的结构
(1)文件的版权、功能、版本、历史说明;
(2)包含文件处理 include;
(3)函数和类的实现;
3.头文件的作用
(1) 很多情况下,只需要向用户提供头文件和二进制库
这样既有保护具体的实现代码功能,用户也有明确的接口信息。
(2) 头文件能够加强类型安全检查
如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能
大大减轻程序员调试、改错的负担。
4.目录结构
一个程序包含的文件过多,通常应将头文件和定义文件分别保存于不同的目录,以便于维护。例如:例如可将
头文件保存于include 目录,将定义文件保存于source 目录(可以是多级目录)。