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

关于静态代码分析在维基百科上可以查到很详细的介绍: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. JS URL 使用base64加密与解密

    JS编码方式: <script type="text/javascript"> document.write(encodeURI("http://www.w3 ...

  2. 单源最短路径——dijkstra算法

    dijkstra算法与prim算法的区别   1.先说说prim算法的思想: 众所周知,prim算法是一个最小生成树算法,它运用的是贪心原理(在这里不再证明),设置两个点集合,一个集合为要求的生成树的 ...

  3. HDU 2196 Computer 树形DP 经典题

    给出一棵树,边有权值,求出离每一个节点最远的点的距离 树形DP,经典题 本来这道题是无根树,可以随意选择root, 但是根据输入数据的方式,选择root=1明显可以方便很多. 我们先把边权转化为点权, ...

  4. js复习(二)

    一.window.document对象(一)找元素 docunment.getElementById("id"):根据id找,最多找一个: docunment.getElement ...

  5. NodeJS 学习资料

    1. npm 除Node本身提供的API外,现在有不少第三方模块可极大的提高开发效率,npm就是Node的软件包管理器,可以用它安装所需软件包并发布自己为nodejs写的软件包. npm安装node扩 ...

  6. Java NIO使用及原理分析 (一)

    http://blog.csdn.net/wuxianglong/article/details/6604817

  7. ylbtech-dbs:ylbtech-6,record(生活记录)

    ylbtech-dbs:ylbtech-6,record(生活记录) -- =============================================-- DatabaseName:R ...

  8. vim常用命令笔记(转载)

    添加多行注释:   1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;   2. 在行首使用上下键选择需要注释的多行;   3. 按下键盘(大写)“I”键,进入插入模式 ...

  9. 用block响应button的点击事件

    1.继承UIButton : 2.在自己定义的button类中的方法 addTarget:(id)target action:(SEL)action forControlEvents:(UIContr ...

  10. 有人向我反馈了一个bug

    我是一个前端开发者,但我想这个故事对任何开发者都会引起共鸣的有人向你反馈了一个 bug. “26 楼会议室的灯亮着.它需要被熄灭.”bug 的备注里写道“你应该能在 5 分钟内搞定,只要按一下开关就好 ...