Clang Static Analyzer-使用手册-编写Checker框架

Sna1lGo 2021-04-08 原文


Clang Static Analyzer-使用手册-编写Checker框架


Clang Static Analyzer-使用手册-编写Checker

Checker是这个工具的灵魂

有了checker才可以检查你的代码

相当于就是CSA通过checker定义的检查方法去检查代码

添加Checker的办法

这里针对3.7.1的老版本,比较新的如llvm10以上的版本没法使用

1 在checkers清单里面添加checker

首先在/clang/lib/StaticAnalyzer/Checkers下的Checkers.td中添加一个申明

 

 

这里的let ParentPackage = xxx in{}

意思就是你想把这个checker放到什么checker类里面,这里根据自己的选择,随意选择位置添加,然后再通过一下格式添加

def xxxChecker : Checker<"xxx">,
HelpText<"yyyyyy">,
DescFile<"xxxxChecker.cpp">;

解释一下这里的HelpText是当你用到这个checker时的一个帮助提示,DescFile是实现cpp文件

2 添加checker代码到CMakeList里面

把checker的实现代码文件添加到CMakeList.txt里面为了下一次编译生成的时候重建到clang里面

 

 

在这个全是cpp这里,直接添加对应的文件就好了

3 编写实现代码.cpp

编写 lib/StaticAnalyzer/Checkers/xxxxx.cpp

在这个里面实现具体的代码逻辑

然后重新编译就好了,就可以使用对应的checker了

posted on
2021-04-08 17:33 
Sna1lGo 
阅读(0
评论(0
编辑 
收藏

 

版权声明:本文为Sna1lGo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Sna1lGo/p/14633515.html

Clang Static Analyzer-使用手册-编写Checker框架的更多相关文章

  1. C语言关键字register、extern、static、一些总结,及项目中使用的心得

    首先介绍两个概念:  一、变量的生存周期:   变量从建立到撤销的时间段成变量的生存周期。静态变量,从变量产生 […]...

  2. ASP.NET Core静态文件中间件[4]: StaticFileMiddleware 中间件全解析

    上面的实例演示(搭建文件服务器、条件请求以提升性能和区间请求以提供部分内容)从提供的功能和特性的角度对Stat […]...

  3. PTBtutorials—Static textures(1)

    导航:   1.Show Image Demo:将图像加载到PTB中,并在屏幕上显示特定时间% Clear t […]...

  4. 在C语言中static的作用

    1).一旦声明为静态变量,在编译时刻开始永远存在,不受作用域范围约束,但是如果是局部静态变量,则此静态变量只能 […]...

  5. ASP.NET Core静态文件中间件[5]: DirectoryBrowserMiddleware & DefaultFilesMiddleware

    对于NuGet包由“Microsoft.AspNetCore.StaticFiles”提供的3个中间件来说,S […]...

  6. 【自问自答】关于 Swift 的几个疑问

    感觉自己给自己释疑,也是一个极为有趣的过程。这次,我还新增了“猜想”一栏,来尝试回答一些暂时没有足够资料支撑的 […]...

  7. java中的Static、final、Static final各种用法详解

    前言 对Static、final、Static final这几个关键词熟悉又陌生?想说却又不知怎么准确说出口? […]...

  8. Clang Static Analyzer – 静态代码分析工具

    Clang Static Analyzer – 静态代码分析工具 LLVM不仅仅是一个编译器,同时 […]...

随机推荐

  1. 十款被人忽视的堪称神器的软件 好用又实用

    一、Smallpdf,不是软件,是个在线网站,针对PDF文件的各种处理方案,可以在线将pdf转换为EXCEL, […]...

  2. shell脚本(2)-shell脚本语法

    一、如何抒写shell脚本 1、shell脚本的命名 名字要有意义,不要以a、b、c、1、2、3这种方式命令, […]...

  3. nginx部署基于http负载均衡器

    nginx跨多个应用程序实例的负载平衡是一种用于优化资源利用率,最大化吞吐量,减少延迟和确保容错配置的常用技术 […]...

  4. 主成分分析PCA数据降维原理及python应用(葡萄酒案例分析)

    目录 主成分分析(PCA)——以葡萄酒数据集分类为例   1、认识PCA     (1)简介     (2)方 […]...

  5. wifi术语

    Acronym Definition Translation ACS Auto Channel Selecti […]...

  6. hbase 面试问题汇总

    一、Hbase的六大特点: (1)、表大:一个表可以有数亿行,上百万列。 (2)、无模式:每行都有一个可排序的 […]...

  7. java利用poi 把ppt转化为图片,

    导入jar包: poi-3.8.jar poi-ooxml-3.9.jar poi-scratchpad-3. […]...

  8. excel系列03:Excel高效率快捷键指南

    我在本系列的第三篇中,整理出一些非常实用的快捷键。Excel的快捷键非常多,但是也没必要全部记住。以下这些快捷 […]...

展开目录

目录导航