clang static analyze

  

C++静态检查一般使用cppcheck直接一条cppcheck ./*.{h,cpp,hpp}命令搞定整个项目,最近发现用clang进行代码补全和代码分析更加强大,借助scan-build工具更好的完成整个过程

  • 直接使用clang扫描

    • --analyze选项可以直接静态扫描源码
    • --analyzer-check设置检查的内容
    • -analyzer-checker-help可以列出可以检测的内容
    • -c将会只运行预处理、编译和汇编的步骤
  • 首先使用scan-build扫描一下构建
    使用格式为:scan-build [scan-build
    options] <command> [command options]

    我们可以这样使用它:

      scan-build ./configure
      scan-build make

    or

      scan-build xcodebuild

    or

      scan-build gcc

    生成检查文件
    scan-build几个有用的选项如下:

    参数 描述
    –use-analyzer 设置检查的工具来替换默认的clang
    -o 生成检查报告的目录,默认/tmp下
    -v 详细输出结果
    -V 直接在浏览器中查看结果
  • 查看检查结果
    scan-veiw /file生成查看文件

转自:http://blog.csdn.net/cnsword/article/details/18357289

clang static analyze

时间: 2024-08-04 21:18:17

clang static analyze的相关文章

scan-build static analyze help

USAGE: scan-build [options] <build command> [build options] ANALYZER BUILD: checker-275 (2013-05-23 17:38:31) OPTIONS: -analyze-headers Also analyze functions in #included files. By default, such functions are skipped unless they are called by funct

How to use Clang Static Analyzer

Introduction Clang 宏观上讲,Clang是一个项目名称.微观上,类似于GCC,Clang是一个C语言.C++.Objective C语言的轻量级编译器,它是Clang项目的一部分. 相比较于GCC,Clang的编译速度更快,占用的内存更少.Clang的错误提示与警告信息也比GCC更加准确清晰.此外,Clang基于库的模块化设计,易于IDE的集成并且遵循LLVM BSD协议. Clang Static Analyzer Clang Static Analyzer是一个能查找C语言

Top 40 Static Code Analysis Tools

https://www.softwaretestinghelp.com/tools/top-40-static-code-analysis-tools/ In this article, I have summarised some of the top static code analysis tools. Can we ever imagine sitting back and manually reading each line of codes to find flaws? To eas

【干货】国外程序员整理的 C++ 资源大全【转】

来自 https://github.com/fffaraz/awesome-cpp A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff Standard Libraries C++ Standard Library - including STL Containers, STL Aglorithm, STL Functio

iOS/OS X 借助工具解决内存问题

InstrumentsARC内存管理悬挂指针 上 一篇博客iOS/OS X内存管理(一):基本概念与原理主要讲了iOS/OSX 内存管理中引用计数和内存管理规则,以及引入ARC新的内存管理机制之后如何选择ownership qualifiers(__strong.__weak.__unsafe_unretained和__autoreleasing)来管理内存.这篇我 们主要关注在实际开发中会遇到哪些内存管理问题,以及如何使用工具来调试和解决. 在往下看之前请下载实例MemoryProblems,

iOS安装包瘦身的那些事儿

在我们提交安装包到App Store的时候,如果安装包过大,有可能会收到类似如下内容的一封邮件: 收到这封邮件的时候,意味着安装包在App Store上下载的时候,有的设备下载的安装包大小会超过100M.对于超过100M的安装包,只能在WIFI环境下下载,不能直接通过4G网络进行下载. 在这里,我们提交App Store的安装包大小为67.6MB,在App Store上显示的下载大小和实际下载下来的大小,我们通过下表做一个对比: iPhone型号 系统 AppStore 显示大小 下载到设备大小

C/C++框架和库 (真的很强大) 转

http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali

值得推荐的C/C++框架和库(深度好文)

[本文系外部转贴,原文地址:http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.html http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 公交车上看到的好文,忍不住转发!下次造轮子前先看看现有的轮子吧-- 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客

C++开源库大全(转)

程序员要站在巨人的肩膀上,C++拥有丰富的开源库,这里包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分. Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库规范 ISO C++ Standards Committee :C++标准委员会 框架 C++通用框架和库