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文件

保存公用的数据类型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值