假设file1.h里面有一些file.c需要使用的头文件以及://file1.h提供了file1.c的函数和struct定义以及常量等接口,供外部文件调用#ifndef__FILE1_H_#define__FILE1_H_#inlucde#include"file2.h"#include"file3.h"#endif而file1.c里面也包含了一些头文件:#include"file1.h"//自包含#include"file4.h"那么问题来了:哪些头文件该包含在file1.h中,哪些头文件该包含在file1.c中?大家有什么头文件包含的规范或者经验吗?谢谢啦!
2 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
如果你发现include了file1.h后,file2.h是必须include的(否则compileerror),那#include"file2.h"写在file1.h里。如果file2.h是可选的,就写在要用的c/cpp文件里。
手掌心
TA贡献1942条经验 获得超3个赞
原则是尽可能把include写在源文件里,因为file1.h除了被file1.cinclude之外,还可能会被其他文件include,这样file1.h所include的头文件也会在includefile1.h的其他文件中被include,所以如果把不必要的include塞进file1.h中,可能造成其他文件include的冗余
添加回答
举报
0/150
提交
取消