首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用How来查找未使用的标头

如何使用How来查找未使用的标头
EN

Stack Overflow用户
提问于 2014-12-08 01:58:15
回答 3查看 8.4K关注 0票数 7

我正在寻找一个工具来帮助检测大型c++代码库中不必要的标题。关于这个主题的其他堆叠溢出问题都建议使用cppclean。所以我已经安装了cppclean,我正在尝试使用它,但是即使在一些小错误的例子上,它也没有给出任何结果。

举个例子,这是我想要清理的东西。源文件:

代码语言:javascript
复制
// foo.cpp
#include "bar.h"

void main() { };

以及头文件:

代码语言:javascript
复制
// bar.h
class bar {
};

我跑了:

代码语言:javascript
复制
cppclean foo.cpp

但是它什么也不打印,并返回0。

我做错了什么吗?是否有任何关于如何使用此工具的教程?

EN

回答 3

Stack Overflow用户

发布于 2021-03-03 09:30:42

在此期间(2019年6月),该公司得到了更新,现在包括:

  • 类具有虚拟方法,没有虚拟析构函数,也没有基。
  • 使用线程时可能出现问题的全局/静态数据
  • 声明但未定义的函数
  • 不必要的前向类声明
  • 不必要的函数声明
  • 未声明函数定义
  • 不必要的#包含在头文件中
代码语言:javascript
复制
- No direct reference to anything in the header Header is unnecessary if classes were forward declared instead
- Inconsistent case in #includes (foo.h versus Foo.h)

仍然不可用:

  • (计划)在源文件中包含不必要的#
  • (计划中)引用未直接包含的头的源文件,即依赖于另一个标头的传递#include的文件
  • (计划)未使用的成员(私有、受保护和公共)方法和数据
  • (计划)在头文件中使用命名空间std
  • (计划)声明但未定义的方法

作为结论:

代码语言:javascript
复制
cppclean .

现在就该做这件事,或者是:

代码语言:javascript
复制
cppclean <path>

进一步资料和资料来源

票数 2
EN

Stack Overflow用户

发布于 2017-12-16 15:27:24

在您的cpp和头文件所在的工作目录中运行cppclean .。您需要将所有源代码提供给Cpp洁净,这样它就可以解析它们并查找问题。

若要包含多个目录,请参阅Cppclean文档的运行部分

票数 0
EN

Stack Overflow用户

发布于 2014-12-08 02:13:37

文档在头版“特写”下清楚地指出:

  • 查找并打印C++语言结构:类、方法、函数等。
  • 查找具有虚拟方法的类,没有虚拟析构函数,也没有基
  • 查找使用线程时可能出现问题的全局/静态数据
  • 不必要的前向类声明
  • 不必要的函数声明
  • 未声明函数定义
  • (计划)查找不必要的头文件#包括
    • 没有直接引用标头中的任何内容
    • 如果类是转发声明的,而不是,则没有必要使用头。

  • (计划中)引用不直接包含的头的源文件,即依赖于另一个头的传递#include的文件。
  • (计划)未使用的成员(私有、受保护和公共)方法和数据
  • (计划)将AST存储在SQL数据库中,以便查询关系

“计划”意味着这是他们计划在未来增加的一个功能。它还没到那里。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27350276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档