8.15 头文件之间的依赖关系

8.15 头文件之间的依赖关系

头文件的意义

模块的封装:接口的声明
系统层次:模块的依赖的关系

打印xxx.c文件的依赖

gcc -MM xxx.c 不打印库
gcc -M

头文件包含顺序

#include <C标准库头文件>
#include <系统头文件>
#include “第三方库头文件"
#include “低层模块头文件"
#include “本模块相关头文件"

头文件的自包含

减少头文件的包含顺序依赖

– 任何一个头文件,都可以独立编译、拿来就用
– 想包含student.h,不用考虑是否将person.h包含进来
– 头文件包含哪些头文件,取决于自身,而非源文件
– 源文件包含哪些头文件,取决于自身,而非头文件

缺点

增加依赖关系、使模块之间的依赖关系变得复杂
增加项目的编译时间

减少头文件之间的依赖

前向声明

  1. 若能前向声明,头文件中尽量少包含其它头文件
  2. 只需要某个数据类型,而不是其完整的定义
    指针对象的声明
    函数参数类型
    函数返回值类型

建立共享base.h文件

保存公用的数据类型

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页