解决隐含的想法包含在C,C中

我刚想出了一个解决问题的想法并想分享它.对不起,如果太平庸.

因此,我正在审查的一个大型C项目包含许多依赖于其他包含但未包含所需包含的符号的包含.构建过程中的任何轻微更改都会导致“缺少符号”失败.

因此,为了立即检查所有自包含的包含,我搜索所有* .h,动态创建一个cpp文件,该文件只包含带有此.h文件的#include -statement并尝试编译它.最后,我获得了一个“好”和“坏”包含文件的列表.
酷不是吧:-)
或者有更简单的解决方案吗?

解决方法

如果每个.cpp文件首先包含它自己的头文件,然后是其他头文件,那么您将在不使用外部工具的情况下进行此检查.

由于同样的原因,这实际上是Googles C++ Style Guide的一部分:

The preferred ordering reduces hidden
dependencies. We want every header
file to be compilable on its own. The
easiest way to achieve this is to make
sure that every one of them is the
first .h file #included in some .cc.

如果你有任何头文件没有相应的.cpp文件,你必须为他们做一些特殊的事情.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...