C++软件开发常用辅助软件——Cppcheck

时间:2020-07-21 22:15:07   收藏:0   阅读:80

Cppcheck

Cppcheck是一种C/C++代码缺陷静态检查工具,不同于C/C++编译器及其它分析工具,Cppcheck只检查编译器检查不出来的bug,不检查语法错误。执行的检查包括:

1. 自动变量检查
2. 数组的边界检查
3. class类检查
4. 过期的函数,废弃函数调用检查
5. 异常内存使用,释放检查
6. 内存泄漏检查,主要是通过内存引用指针
7. 操作系统资源释放检查,中断,文件描述符等
8. 异常STL函数使用检查
9. 代码格式错误,以及性能因素检查

示例

技术分享图片
1 #include <stdio.h>
2   
3 int main()
4 {
5     int *a = new int[3];
6     printf("%d\n", a[4]);
7     return 0;
8 } 
View Code

使用命令如下

cppcheck -q --enable=performance --platform=unix32 --language=c++ test.cpp

结果如下

Checking test.cpp ...
[test.cpp:6]: (error) Array a[3] accessed at index 4, which is out of bounds.
[test.cpp:7]: (error) Memory leak: a

分别指出内存越界、以及内存泄漏的问题。

原文:https://www.cnblogs.com/NoSoul/p/13356866.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!