C++静态代码分析工具推荐——PVS-Studio
长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间。
关于静态代码分析在维基百科上可以查到很详细的介绍: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的更多相关文章
- 来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.
- Eclipse插件(导出UML图,打开文件资源管理器插件,静态代码分析工具PMD,在eclipse上安装插件)
目录 能够导出UML图的Eclipse插件 打开文件资源管理器插件 Java静态代码分析工具PMD 如何在eclipse上安装插件 JProfiler性能分析工具 从更新站点安装EclEmma 能够导 ...
- Android 静态代码分析工具
简评: 作者在文中提到的三个静态代码分析工具不是互相替代的关系,各有各的侧重点,如果有需要完全可以同时使用. 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程 ...
- 常用 Java 静态代码分析工具的分析与比较
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...
- [转载] 常用 Java 静态代码分析工具的分析与比较
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...
- 【转载】常用 Java 静态代码分析工具的分析与比较
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...
- java静态代码分析工具infer
infer是一个静态代码分析工具,探测bugs. 主要支持Java.C/C++ 安装:brew install infer 在线展示:https://codeboard.io/projects/115 ...
- Https与Http,SSL,DevOps, 静态代码分析工具,RFID, SSH, 非对称加密算法(使用最广泛的一种是RSA), 数字签名, 数字证书
在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和h ...
- 常用Java静态代码分析工具的分析与比较
给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs ...
随机推荐
- JS URL 使用base64加密与解密
JS编码方式: <script type="text/javascript"> document.write(encodeURI("http://www.w3 ...
- 单源最短路径——dijkstra算法
dijkstra算法与prim算法的区别 1.先说说prim算法的思想: 众所周知,prim算法是一个最小生成树算法,它运用的是贪心原理(在这里不再证明),设置两个点集合,一个集合为要求的生成树的 ...
- HDU 2196 Computer 树形DP 经典题
给出一棵树,边有权值,求出离每一个节点最远的点的距离 树形DP,经典题 本来这道题是无根树,可以随意选择root, 但是根据输入数据的方式,选择root=1明显可以方便很多. 我们先把边权转化为点权, ...
- js复习(二)
一.window.document对象(一)找元素 docunment.getElementById("id"):根据id找,最多找一个: docunment.getElement ...
- NodeJS 学习资料
1. npm 除Node本身提供的API外,现在有不少第三方模块可极大的提高开发效率,npm就是Node的软件包管理器,可以用它安装所需软件包并发布自己为nodejs写的软件包. npm安装node扩 ...
- Java NIO使用及原理分析 (一)
http://blog.csdn.net/wuxianglong/article/details/6604817
- ylbtech-dbs:ylbtech-6,record(生活记录)
ylbtech-dbs:ylbtech-6,record(生活记录) -- =============================================-- DatabaseName:R ...
- vim常用命令笔记(转载)
添加多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式 ...
- 用block响应button的点击事件
1.继承UIButton : 2.在自己定义的button类中的方法 addTarget:(id)target action:(SEL)action forControlEvents:(UIContr ...
- 有人向我反馈了一个bug
我是一个前端开发者,但我想这个故事对任何开发者都会引起共鸣的有人向你反馈了一个 bug. “26 楼会议室的灯亮着.它需要被熄灭.”bug 的备注里写道“你应该能在 5 分钟内搞定,只要按一下开关就好 ...