zoukankan      html  css  js  c++  java
  • 代码检查 | CppCheck 静态代码检查使用

    CppCheck 分为Windows 版本和 Linux 版本,Windows 版本可直接导入待检项目,可视化配置和输出可视化结果,本文主要关注 Linux 版本。

    Linux 平台软件安装:

    直接使用 apt-get 在线安装最为方便,否则官网下载安装包手动安装。

    软件使用:

    • 检查某个特定文件

    cppcheck file_a.c

    • 检查目录下所有文件

    cppcheck path

    检查可选配置参数:

    • 错误

    当发现 bug 时使用

    • 警告(warning)

    关于防御性编程,以防止 bug 的建议

    使能方式:  --enable=warning
    
    • 风格警告(style)

    风格有关问题的代码清理(未使用的函数、冗余代码、常量性等等)

    使能方式:  --enable=style
    
    • 可移植性警告

    可移植性警告。64 位的可移植性,代码可能在不同的编译器中运行结果不同。

    • 性能警告(performance)

    建议使代码更快。这些建议只是基于常识,即使修复这些消息,也不确定会得到任何可测量的性能提升。

    使能方式:  --enable=performance
    
    • 信息消息(information)

    配置问题,建议在配置期间仅启用这些。

    使能方式:  --enable=information
    

    启用所有消息

    使能方式:  --enable=all
    

    使能不确定消息

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

    使能方式:  --inconclusive 
    

    常用命令实例:

    cppcheck --enable=warning,performance,style,unusedFunction --inconclusive --force check_path > result.txt
    

    详细描述可参考链接: https://www.cnblogs.com/lvdongjie/p/9549254.html

  • 相关阅读:
    openwrt 相关文章
    负载均衡相关文章
    Today's Progress
    Rodrigues formula is beautiful, but uneven to sine and cosine. (zz Berkeley's Page)
    Camera Calibration in detail
    Fundamental Matrix in Epipolar
    Camera Calibration's fx and fy do Cares in SLAM
    FilterEngine::apply
    FilterEngine 类解析——OpenCV图像滤波核心引擎(zz)
    gaussBlur
  • 原文地址:https://www.cnblogs.com/CristL/p/14346413.html
Copyright © 2011-2022 走看看