当前位置:  开发笔记 > 编程语言 > 正文

死代码识别(C++)

如何解决《死代码识别(C++)》经验,为你挑选了2个好方法。

我有一个在Visual Studio 2008下编译的大型遗留C++项目.我知道有相当数量的"死"代码无法在任何地方访问 - 未调用的方法,未使用的整个类.

我正在寻找一种可以通过静态分析识别出来的工具.

这个问题:传统C/C++项目中的死代码检测建议使用代码覆盖工具.这不是一个选项,因为测试覆盖率不够高.

它还提到了一个无法访问的代码.gcc的选项.我想要一些类似于Visual Studio的东西.我们已经使用链接器的/ OPT:REF选项来删除冗余代码,但是这并没有报告死代码的有用级别(当与/ VERBOSE一起使用时,有超过100,000行,包括来自库的很多行).

有没有更好的选项适合Visual Studio项目?



1> Dan..:

我知道Gimpel的Lint产品(PC-Lint和Flexelint)将识别无法访问的代码和未使用/未引用的模块.

它们都属于静态分析工具.

我与Gimpel没有任何关系,只是一个满意的长期客户.



2> 小智..:

您需要QA-C++(http://www.programmingresearch.com/QACPP_MAIN.html)的内容,同时请参阅http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis了解类似产品.

您正在寻找一种可检测无法访问代码的静态代码分析工具; 许多编码指南(例如MISRA-C++,如果我没有记错的话)要求不存在无法访问的代码.专门用于执行此类指南的分析工具将是您最好的选择.

而且您也希望能够找到该工具的其他用途.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有