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


    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
    ", 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

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

  • 相关阅读:
    单例模式
    collections额外数据类型
    logging的简单使用
    杂记
    字符编码
    面向对象编程简介
    logging模块
    re与subprocess模块
    oepnpyxl模块 与excle交互
    json序列化模块
  • 原文地址:https://www.cnblogs.com/NoSoul/p/13356866.html
Copyright © 2020-2023  润新知