文档章节

Cppcheck简单测评

 左笔一支
发布于 2014/01/11 14:03
字数 184
阅读 313
收藏 2

测评代码如下:

#include <cstdio>
#include <string>
int main(void)
{
 // 多了或者少了格式化参数
 ::printf("%d%d%d\n", int(1), int(2));
 ::printf("%d%d%d\n", int(1), int(2), int(3), int(4));
 // 格式化类型不正确
 ::printf("%s\n", std::string("test"));
 ::printf("%d\n", std::string("test"));
 ::printf("%d\n", float(12.34));
 ::printf("%f\n", int(1));
 // 越界
 int a[10] = {0};
 a[10] = 10;
 int b[10] = {0};
 for (int i; i < 11; ++i)
 {
  b[i] = 10;
 }
 for (int i = 0; i < 11; ++i)
 {
  b[i] = 10;
 }
 // 字符串比较的典型错误
 bool bl;
 bl = ("123" == std::string("123").c_str()); // 此处错误没有找到
 if (bl)
 {
 }
 // Cppcheck的一个bug
 std::string str("123");
 ::printf("%d", ("123"==str ? int(1) : int(2))); // 此处误报
 ::system("pause");
 return 0;
}

结果图

有误报,有的错误没找到,但瑕不掩瑜。

© 著作权归作者所有

共有 人打赏支持
粉丝 3
博文 5
码字总数 920
作品 0
佛山
程序员
私信 提问
加载中

评论(1)

左笔一支
我用的是VS2010,格式化错误原来用MingW都能发现,所以不能怪Cppcheck发现不了。
CppCheck 和 SourceMonitor 在 Source Insight、Qt Creator、VS 2013 上的安装配置和使用

一、引言 软件在开发过程中如何保证代码质量?仅凭个人能力去检视判定,效率太低,而且和个人能力有很大关系,如果能有一些小工具来协助,岂不是如虎添翼? 本文就是介绍CppCheck和SourceMon...

容我三思兮
07/14
0
0
Qt Creator Bug 检测、定位插件--Qtc_CppCheck

Qtc_CppCheck是一个Qt Creator IDE的插件,通过调用CppCheck程序检查代码文件,将检查结果直观地显示在IDE中,实现随时检查、快速定位和修改Bug的功能,目前只检测C++。(需要安装CppCheck程...

zlqzlq
2017/05/26
121
0
cppcheck 1.60.1 发布,C/C++代码分析工具

cppcheck 1.60.1 修复了编译模式的一些 bug。 cppcheck是静态的C/C++ 代码分析工具,用以检查内存泄漏,错配的内存分配和释放,缓冲区溢出,以及更多的问题。...

oschina
2013/07/14
2.3K
1
KDevelop 5.1.0 正式发布,带来大量新特性

KDevelop 5.1.0 发布了,这次的更新带来了大量的新特性。KDevelop 是 KDE 的集成开发环境(IDE)。已发布的 5.1 版本支持 LLDB,分析器运行模式,初始支持OpenCL 语言,改进的 Python 语言支...

局长
2017/03/22
2.2K
7
cppcheck 1.57 发布,静态 C/C++ 代码分析

cppcheck是静态的C/C++ 代码分析工具,用以检查内存泄漏,错配的内存分配和释放,缓冲区溢出,以及更多的问题。 cppcheck 1.57 改进记录: Support for Java and C# code has been removed....

oschina
2012/12/25
886
0

没有更多内容

加载失败,请刷新页面

加载更多

DRDS SQL 审计与分析——全面洞察 SQL 之利器

摘要: 背景 数据库存储着系统的核心数据,其安全方面的问题在传统环境中已经成为泄漏和被篡改的重要根源。而在云端,数据库所面临的威胁被进一步的放大。因此,对云数据库的操作行为尤其是全...

阿里云官方博客
20分钟前
2
0
大数据就业前景分析的太到位了,想学习大数据的可以看看

大数据广泛应用于电网运行、经营管理及优质服务等各大领域,并正在改变着各行各业,也引领了大数据人才的变革。大数据专业就业前景怎么样?这对于在就业迷途中的我们是一个很重要的信息。 随...

董黎明
27分钟前
1
0
如何利用Photoshop进行快速切图

在UI设计中我们常常使用Ai来进行矢量图的绘制,然后导入Ps中进行设计、排版和导出。 在以前的版本中,切图一直是个很麻烦的事情,要么依托于脚本,要么手动一张张导出,很不方便,这种窘况在...

mo311
34分钟前
1
0
配置防盗链、访问控制Directory、访问控制FilesMatch

11月19日任务 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 通过限制referer来实现防盗链的功能 配置文件增加如下内容 <Directory /data/wwwroot/www.123.com> SetE...

zgxlinux
42分钟前
3
0
docker搭建redis环境

docker 搭建redis单机,主从,哨兵,集群环境: https://github.com/grace-233/docker-config-file/tree/master/redis...

grace_233
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部