如果我有一个file1.h和file1.c,那么包含的头文件应该怎么安排?

假设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中?
大家有什么头文件包含的规范或者经验吗?谢谢啦!
慕斯王
浏览 556回答 2
2回答

摇曳的蔷薇

如果你发现include了file1.h后,file2.h是必须include的(否则compileerror),那#include"file2.h"写在file1.h里。如果file2.h是可选的,就写在要用的c/cpp文件里。

手掌心

原则是尽可能把include写在源文件里,因为file1.h除了被file1.cinclude之外,还可能会被其他文件include,这样file1.h所include的头文件也会在includefile1.h的其他文件中被include,所以如果把不必要的include塞进file1.h中,可能造成其他文件include的冗余
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript