Please always refer to offical UsersManual

What Clang can do:

  • Clang Compiler作为前端编译器: 一种开源的C家族编译器,可以取代gcc;
    • 采用了LLVM optimizer: 支持很多target的高度优化和代码生成
    • 支持文档生成
  • “Clang” CFE Internals Manuallibclang: 高端用户,调用API,调用定制修改一些库
  • Clang Static Analyzer: 针对C, C++, Objective-C programs
    • 分析语法,甚至语意,找出bug.

how to use Clang Static Analyzer:

  • apt-install clang
    • available cmd 取代gcc编译器:
      • clang
    • 基于LibTooling的工具(取代gcc编译器): Clang Tidy/Modernizer/Apply Replacements/Format/Query, Modularize
      • clang-apply-replacements
      • clang-query :构建代码重构工具:libclang / plugins / LibTooling
      • clang-tblgen
      • clang-check
      • clang-tidy :checklist
      • module-map-checker: 有些版本没有
    • available cmd 不取代编译器,编译命令作为参数: 不知道为什么,好像某些clang版本不支持
      • scan-build
      • scan-view
  • 外嵌的命令:
    • scan-build :scan-build +编译的命令(make)
    • scan-view : 查看scan-build生成的结果
      • 参数 -h 可以查看所有参数
      • 编译选项: –force-analyze-debug-code 打开debug模式
  • clang-tidy

Report analysis:

  • 默认展现形式: html