长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间。

关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

这个词条中不仅有C++,还有其他主流语言的静态代码分析工具的介绍,很好很强大 O(∩_∩)O~

比较知名的有Cppcheck、Coverity等,当然其实VS本身也是支持开启静态代码分析的,也能发现不少问题,建议开启。

今天要介绍的是另一款——PVS-Studio,在上述词条中也有记载,官网是http://www.viva64.com/en/pvs-studio/

之所以推荐它是因为在我试用过的几款中,它是性价比和表现都比较不错的。免费或开源的分析软件通常只能暴露比较基本的问题,毕竟一分钱一分货嘛,而收费的分析软件一般都比较贵,尤其像土豪级的Coverity,但Coverity的分析能力也确实很强大,而且配套和系统集成也做的比较好,但价格也让一般企业却步,而且试用也比较麻烦。

但PVS-Studio在官网即可随意下载试用,而且价格应该不到Coverity一半(以前官网有报价,现在要发邮件询问,所以价格记得不是很清楚,但便宜是肯定的)。之前有点击结果列表一百次的限制,现在好像没有了,即使有限制也只是定位代码行不方便,超过限制后仍然可以继续分析代码,俄国人还是很敞亮的,呵呵

PVS-Studio是作为VS插件集成到VS中,用起来还是很方便的,而且现在也支持分析C#了,C#分析情况暂时还没试用过。

相比Cppcheck,PVS-Studio还是可以发现更多问题的,没有和Coverity对比过,所以不好下结论,但毕竟性价比还是很划算的。

综上,如果想试用的,可以尽情试用,想要更好体验的也可以付费购买。

另外PVS-Studio还分析了很多开源项目中的代码问题,可以作为反面教材参考学习,按照错误类型分类:http://www.viva64.com/en/examples/

,按照开源项目分类:http://www.viva64.com/en/inspections/

注:本文不是软文,只是我的使用体会和想法罢了,相关企业没有给我一分钱,当然要想给我,我绝对欢迎,O(∩_∩)O~

C++静态代码分析工具推荐——PVS-Studio的更多相关文章

  1. 来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.

  2. Eclipse插件(导出UML图,打开文件资源管理器插件,静态代码分析工具PMD,在eclipse上安装插件)

    目录 能够导出UML图的Eclipse插件 打开文件资源管理器插件 Java静态代码分析工具PMD 如何在eclipse上安装插件 JProfiler性能分析工具 从更新站点安装EclEmma 能够导 ...

  3. Android 静态代码分析工具

    简评: 作者在文中提到的三个静态代码分析工具不是互相替代的关系,各有各的侧重点,如果有需要完全可以同时使用. 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程 ...

  4. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  5. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  6. 【转载】常用 Java 静态代码分析工具的分析与比较

    摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...

  7. java静态代码分析工具infer

    infer是一个静态代码分析工具,探测bugs. 主要支持Java.C/C++ 安装:brew install infer 在线展示:https://codeboard.io/projects/115 ...

  8. Https与Http,SSL,DevOps, 静态代码分析工具,RFID, SSH, 非对称加密算法(使用最广泛的一种是RSA), 数字签名, 数字证书

    在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和h ...

  9. 常用Java静态代码分析工具的分析与比较

    给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs ...

随机推荐

  1. css之伪类选择器:before :after(::before ::after)

    一.总结: ::before是在标签内容前面添加内容, ::after是在标签内容后面添加内容 ::before ::after与:before  :after的区别:css3中修订后的伪元素使用:: ...

  2. ASP.NET MSSQL 依赖缓存设置方法

    更多的时候,我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能.但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据 ...

  3. 像装软件一样装系统 Win8下怎么装Win7

    像装软件一样装系统 Win8下怎么装Win7 首先,你需要一个Windows7的ISO镜像文件,非ghost版本 一般选中ISO文件,点反键在弹出菜单中以“装载”或“window资源管理器”方式打开 ...

  4. c++中字符串处理函数

    c++11中提供了to_string函数,定义在string中, 重载了一大片, std::string to_string( int value ); () (since C++) std::str ...

  5. 创建immutable类

    不可变对象(immutable objects) 那么什么是immutable objects?什么又是mutable Objects呢? immutable Objects就是那些一旦被创建,它们的 ...

  6. maven命令行跳过test

    mvn跳过测试的两种方法: -DskipTests -Dmaven.test.skip=true

  7. Python 结巴分词(2)关键字提取

    提取关键字的文章是,小说完美世界的前十章: 我事先把前十章合并到了一个文件中: 然后直接调用关键字函数: import sys sys.path.append('../') import jieba ...

  8. python(15)提取字符串中的数字

    python 提取一段字符串中去数字 ss = “123ab45” 方法一:filter filter(str.isdigit, ss) 别处copy的filter的用法: # one>> ...

  9. Axis2/c 知识点

    官网文档:  http://axis.apache.org/axis2/c/core/docs/axis2c_manual.html 从文档中可以总结出: 1. Axis2/C是一个用C语言实现的We ...

  10. Linux 链接(转载)

    来源:http://www.cnblogs.com/sonic4x/archive/2011/08/05/2128543.html 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Har ...