头文件的习惯写法及结构分布,这只是个人建议,如果你不喜欢就不采用就行了。如下:
- 模块中的头文件命名与源文件命名相同,如student.cxx,student.h
- 模块中的头文件不包括任何其它头文件,如student.h中不包括其它头文件(teacher.h),需要用到其它头文件的,则包括在源文件中,如student.cxx包括头文件teacher.h
- 主程序的头文件包括任何需要用到的头文件,如main.h包括student.h,teacher.h, app_define.h等。后来增加的头文件也放到main.h中,主程序(如main.cxx)只包括main.h
- 宏定义(define)统一放在一个头文件中,如app_define.h
- 编写一个共用的头文件heads.h,用于包括一些公用的头文件(如stdio.h,string.h)
- 注意包括头文件的顺序
- 在头文件中,要存放给外部、内部使用的变量/函数声明。函数声明直接声明就OK了,不用加extern。全局变量声明则需要加extern,并且放在#if DEFINE_IN_XXX #endif之间。源文件则加上#define DEFINE_IN_XXX。这样源文件就不会用到这些全局变量声明(只给外面使用)
这样做的好处是使模块化程度更高,并减少编译时间(工程很大时,如果每个模块都包括很多不必要的头文件,那么只要一改动其中一个头文件,全部的源文件都要编译,很耗时)