加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:29:30 所属栏目:百科 来源:网络整理
导读:我刚想出了一个解决问题的想法并想分享它.对不起,如果太平庸. 因此,我正在审查的一个大型C项目包含许多依赖于其他包含但未包含所需包含的符号的包含.构建过程中的任何轻微更改都会导致“缺少符号”失败. 因此,为了立即检查所有自包含的包含,我搜索所有* .h,
我刚想出了一个解决问题的想法并想分享它.对不起,如果太平庸.

因此,我正在审查的一个大型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文件,你必须为他们做一些特殊的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读