Windows上的C ++静态代码分析工具
你知道什么C + +静态代码分析工具的Microsoft Windows开发,它提供了什么主要function?
请说明一个特定的工具是否依赖于cygwin,以及它的FOSS是免费还是需要购买。
类似的问题: 什么开源的C ++静态分析工具可用?
以下是当前状态的总结:
- 在Windows驱动程序工具包中findPreFAST
- Cppcheck
- Coverity公司
- PVS-工作室
- 哼
- Klocwork Insight
- PC-林特
- CppDepend
- Goanna
- 哨兵
- Visual Studio团队系统
- 理解
- CCCC
- Cqual ++
- Flawfinder
- DMS软件再造工具包
- 维拉++
- 源监视器
- 堆栈 (源代码在github )
Cppcheck是开源的和跨平台的。
如果您运行VC2008(Express版本是免费的),然后安装最新的Windows SDK,则可以获得通常仅在VSTT中提供的相同的PREFAST静态代码分析工具。 如果您已经在使用Visual Studio,那么这是一个很好的方法,如果您使用的是GCC或其他编译器,则需要在其他地方查看。
我们使用Coverity 。 它不是免费的,但Windows是一个支持的平台。
我也听说奥克是好的。
PC-Lint做了一些公正的静态分析。
Klocwork “Insight”是另一个,但它不是免费的。 我也用Coverity “Prevent”。 如果您不介意成本,这两个产品都是非常好的产品。
你可以testing我们的工具CppDepend ,Pro版本不是免费的,但试用版本可以满足许多需求。
我认为这三款开源静态分析器令人印象深刻:
-
Cppcheck – 易于使用GUI界面。 检查编码标准和其他关键问题。
-
cccc – 输出编码指标,如代码行号,代码复杂性指数,评论计数等。
-
C ++ ++ – C ++ ++的目标是findstream不敏感的数据stream错误。 (你必须从源头上构build这个工具)
我的问题是:我可以添加自定义编码标准吗? 是否有任何开放工具支持添加自定义编码标准?
Visual Studio Team System现在有代码分析工具(虽然VSTT非常昂贵)。
我是被称为Goanna的Visual Studio C / C ++静态分析工具的开发人员之一。 这一个花钱(有一个免费试用),但我想这是好的。
我们的DMS Software Reengineering Toolkit可以处理各种C ++方言,包括C ++ 11 。
一个预先configuration的版本可以通过一个重复的代码检测器 (确切的或接近未命中的克隆)来获得,但是通常DMS被devise为被定制来执行你想要的分析。
DMS是一个商业包装。
编辑是的,你可以编码自己的自定义分析或风格检查。
Flawfinder
我已经使用源监视器多年了。 有些事情做的很好。 最好的部分是它是免费的。
在此查看源监视器的源代码页: Source Monitor
两年前我用Scitools的了解 。 它是可移植的(至less是我们使用的Windows-Linux组合)并且支持多种语言。 可能很好,那不是你所追求的…
无论如何,有趣的是它是相当实惠的,支持是令人印象深刻的,问题和问题往往不是在同一天处理。
我使用PC-Lint进行代码静态检查!
Vera ++还能够通过脚本检查自定义编码标准…