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

关于静态代码分析在维基百科上可以查到很详细的介绍: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. phonegap 2.7 ios配置安装详细教程(2.9通用)

    原地址:http://www.cnblogs.com/yansi/archive/2013/05/14/3078222.html 在移动开发日益激烈的情况下我也不得不硬着头皮尝试下新鲜的html5的a ...

  2. Neutron分析(2)——neutron-server启动过程分析

    neutron-server启动过程分析 1. /etc/init.d/neutron-server DAEMON=/usr/bin/neutron-server DAEMON_ARGS=" ...

  3. bzoj3135: [Baltic2013]pipesd

    Description 有n个水库,m条管道.Jester会在某些管道中间凿开一个洞,让水流出来或者用水泵把水打进去.保证这个流速是偶数.对于一条管道(u, v),如果在中间凿开了一个洞让水流出来,流 ...

  4. 【freemaker】之循环,判断,对象取值

    entity: public class Employee { private Integer id; private String name; private Integer age; privat ...

  5. string和stringBuilder区别

    C# String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与 ...

  6. IntentService简介

    参照文章:http://android.tgbus.com/Android/tutorial/201106/355229.shtml IntentService是Service类的子类,用来处理异步请 ...

  7. virtual修饰符

    virtual(C# 参考) virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写. 例如,此方法可被任何继承它的类重写. public virtual doubl ...

  8. @synthesize obj = _obj 理解

    在很多代码里可以看到类似得用法: @interface MyClass:NSObject{ MyObjecct *_object; } @property(nonamtic, retain) MyOb ...

  9. MVC 模型

    dbcontent var ALLALBUMS=from album in db.albums orderby album.title ascending select album; storeman ...

  10. SOA_环境安装系列1_Oracle SOA Suite11g安装总括(案例)

    2015-01-01 Created By BaoXinjian