头文件包含顺序以及设计原则

关于C的头文件包含,我认为体现了软件的模块设计以及包含关系,对于头文件包含,我个人看法如下:

  1. 一个基础头文件提供常用的数据类型、修饰符以及基础操作宏。例如叫basicdef.h
  2. 头文件尽量只包含 basicdef.h,依赖模块的头文件,也未必需要加到头文件中。
  3. global.h作为基础头文件,包含了其他基础的应用用的头文件,一般作为第一个文件包含在应用相关c文件中。
  4. c文件中,依次包含依赖模块头文件、编译器提供的库函数头文件。
  5. c文件中,最后包含本模块的头文件,即使实际中不需要包含,也应该包含在内,用于保证头文件声明和c文件实现一致。
  6. 如果是只是模块需要使用的结构,即使接口函数需要这种各类型指针,也把定义放在c文件中,头文件中只做声明。
原文地址:https://www.cnblogs.com/dabbler/p/9464056.html