zoukankan      html  css  js  c++  java
  • cppcheck

    Cppcheck是一个C/C++代码缺陷静态检查工具,不同于C/C++编译器及其它分析工具,只检查编译器检查不出来的bug,不检查语法错误,支持C/C++代码;作为编译器的一种补充检查,对产品的源代码执行严格的逻辑检查,执行的检查包括:

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

     

    启用消息

    默认情况下,只显示错误消息,可以通过 --enable 命令启用更多检查。

    启用警告消息:

    cppcheck --enable=warning file.c

    启用性能消息:

    cppcheck --enable=performance file.c

    启用信息消息:

    cppcheck --enable=information file.c

    由于历史原因 --enable=style 可以启用警告、性能、可移植性和样式信息。当使用旧 XML 格式时,这些都由 style 表示:

    cppcheck --enable=style file.c

    启用警告和性能消息:

    cppcheck --enable=warning,performance file.c

    启用 unusedFunction 检查。这不能通过 --enable=style 启用,因为不会在库中正常工作。

    cppcheck --enable=unusedFunction file.c

    启用所有消息:

    cppcheck --enable=all

    不确定消息

    默认情况下,如果确定,Cppcheck 只显示错误消息。如果使用 --inconclusive,当分析不确定时,也会写错误消息。

    cppcheck --inconclusive path

    这当然会导致错误的警告,即使在没有 bug 的情况下,也可能会报 bug。如果可以接受错误的警告,可以使用此命令。

     

    保存结果到文件中

    很多时候,会希望将结果保存在一个文件中,可以使用 shell 的管道重定向错误输出到一个文件:

    cppcheck file.c 2> err.txt

    多线程检查

    选项 -j 用于指定需要使用的线程数,例如,使用 4 个线程检查文件夹中的文件:

    cppcheck --enable=warning file.c

    参考

    http://blog.csdn.net/liang19890820/article/details/52778149

     

     官方文档

    http://cppcheck.sourceforge.net/manual.html#idm18

  • 相关阅读:
    写在彻底转向有道云笔记一个月之后
    KMP算法实现
    有道云笔记 V.S. 为知笔记
    卸载印象笔记,跟印象笔记说拜拜
    ExpandRegion for Sublime Text:快速选择文本
    Linux cat命令详解
    Vim安装插件
    Vim与正则表达式
    还没供暖
    在Linux命令行中设置并使用代理服务器
  • 原文地址:https://www.cnblogs.com/freedomabcd/p/7771121.html
Copyright © 2011-2022 走看看