微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决隐含的想法包含在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文件,你必须为他们做一些特殊的事情.

原文地址:https://www.jb51.cc/c/114668.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐