分类

安卓应用安卓游戏攻略资讯

编程相关

Cppcheck(静态代码检查工具)

Cppcheck(静态代码检查工具) v1.70绿色版

大小:6.3 MB

语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8

类别:编程相关时间:2017-09-18

Cppcheck是一款专业的C/C++静态代码检测工具,一般程序员在开发程序的时候经常会遇到编译器编译不出来的问题,通过这款软件可以检测出一般的编译器查不出来的BUG,不过与其它工具不同的是这款工具并不检测语法错误,拥有自动变量检测、clss类检测等功能。

主要功能:

1. 自动变量检查

2. 数组的边界检查

3. class类检查

4. 过期的函数,废弃函数调用检查

5. 异常内存使用,释放检查

6. 内存泄漏检查,主要是通过内存引用指针

7. 操作系统资源释放检查,中断,文件描述符等

8. 异常STL 函数使用检查

9. 代码格式错误,以及性能因素检查

Cppcheck使用教程

1、将Cppcheck绿色版cppcheck.rar解压;

2、打开cppcheckgui.exe;

3、菜单 check->directory;

4、选择源代码目录,确认;

5、Cppcheck自动开始走查;

Cppcheck使用说明

1.过滤C-style pointer casting,得到nocasting.log-13k。

cppcheck不建议使用c类型的指针转换,而是用static_cast之流。不过要打字太多,基本上没人使用。

2.过滤The class 'xxxx' has no constructor,得到noconstructor.log-12.7k。

有些类是不必写构造函数的啦。默认的就可以了。

3.提取Member variable not initialized in the constructor,得到init.log-8k;不属于该条目的其他内容保存到noinit.log-4.6k。

成员变量未初始化偶尔是一个debug/release不一致的祸根,老大建议以后再改,不过这个量有点大啊。大家太疏忽了。

4.过滤The scope of the variable de can be limited和Redundant condition. It is safe to deallocate a NULL pointer,最后得到final.log-2k。

The scope of the variable de can be limited,cppcheck建议某个临时变量的作用域可以进一步缩小。

Redundant condition. It is safe to deallocate a NULL pointer,cppcheck认为空指针可以直接delete。也不知哪里遗传的坏毛病,非要if一下。不过我不是这样的。

5.剩下的2k里面包含了19个错误条目。

有5条指出某些父类没有虚析构函数,不过那些父类没有析构函数也无关紧要。

内存泄露有几条,不过只有1条正确,其余的属于误报。

崩溃错误一条,在循环内erase(iterator)而没有break。

其他违反最佳实践的有几条,可改可不改。

cppcheck工具介绍

客户端和插件

Cppcheck与许多流行的开发工具集成在一起。 例如:

CLion - Cppcheck插件

代码::块 - 集成

CodeDX(软件保证工具) - 集成

CodeLite - 集成

CppDepend 5 - 集成

Eclipse - Cppcheclipse

gedit - gedit插件

哈德森 - Cppcheck插件

Jenkins - Cppcheck插件

Mercurial(Linux) - 预提交钩子 - 检查提交时的新错误(需要交互式终端)

Tortoise SVN - 添加预提交钩子脚本

Git(Linux) - 预提交钩子 - 检查进入提交的文件中的错误(需要交互式终端)

Visual Studio - Visual Studio插件

QtCreator - Qt项目工具(qpt)

展开

猜您喜欢

同类推荐

网友评论