cppcheck 自定义规则,cppcheck的规则集
Cppcheck allows you to create your own rules files, but I don't know how much of cppcheck's functionality is exposed.
Is anyone working on a set that would enforce JSF or MISRA rules?
解决方案
You won't be able to implement all MISRA/JSF rules and directives as cppcheck rules, mostly only the straightforward ones restricting certain C language features and constructions or that are style-related (some that come to mind: spaces before/after ./->, # of arguments on a single line, use of unions to provide different methods of accessing memory, presence of unsigned/signed before char, etc).
User Ira Baxter pretty much nailed it in a comment on another question touching cppcheck: not everything can be represented/simplified as a pattern. Relying on patterns for custom rules makes it difficult to handle and detect higher level issues, related for example to types (e.g. sizeof() on types; you would have to parse and collect tokens (typedefs, enums) used as a type representation), inheritance (e.g. classes, incl. derived ones, used both as virtual and non-virtual), and scope. Those need to be hard-coded into cppcheck (you could always fork cppcheck...)
In any case, have you touched MISRA (or JSF) rules? Is this a requirement for a project? If not, you could grab a copy of the MISRA guidelines (you already have the JSF ones) and check the ones you can implement using PCRE patterns. If it is a requirement, I suggest you "invest" in a commercial product that does check for MISRA/JSF guidelines and use both tools.
A final note: you don't need all the MISRA/JSF rules, and many tools leave a small percentage of those out.
cppcheck 自定义规则,cppcheck的规则集相关推荐
- cppcheck 自定义规则_cppcheck代码静态检查工具及相关工具插件用法介绍
摘要:介绍代码缺陷静态检查工具(static code analyzer)cppcheck,以及其vs.qtcreator.git.jenkins插件及用法. Cppcheck着重于检测未定义的行为和 ...
- cppcheck 自定义规则_cppcheck检查规则
规则 中文描述 R-1-2-3 禁止在头文件前有可执行代码. R-1-2-4 引起二义性理解的逻辑表达式,必须使用括号显式说明优先级顺序. R-1-2-5 逻辑判别表达式中的运算项必须要使用括号. R ...
- cppcheck 自定义规则_cppcheck扫描规则
规则 描述 arrayIndexOutOfBounds 数组下标越界 arrayIndexThenCheck 数组越界访问 bufferAccessOutOfBounds 缓冲区访问越界 CastIn ...
- PMD 自定义规则实践入门样例
原文:https://testerhome.com/topics/4918 准备工作 首先在PMD官网下载最新版本的文件,目前最新版本是5.4.1. 下载pmd-bin-5.4.1.zip和pmd- ...
- pmd java规则_静态代码扫描 (一)——PMD 自定义规则入门
阅读该文章前,最好已经对 PMD 有了初步的认识和了解,可参考静态分析工具 PMD 使用说明 准备工作 首先在PMD 官网下载最新版本的文件,目前最新版本是 5.4.1. 下载 pmd-bin-5.4 ...
- java自定义findbugs规则_静态代码扫描 (三)——FindBugs 自定义规则入门
准备工作 由于 FindBugs 是分析编译后的 class 文件,也就是字节码文件.我们需要了解 FindBugs 底层的处理机制.根据FindBugs 官网文档描述,FindBugs 使用了BCE ...
- sqlserver如何定义一个静态变量_[Bazel]自定义规则实现将多个静态库合并为一个动态库或静态库...
1 前言 2 自定义规则实现 2.1 规则功能 2.2 实现规则的理论基础 2.3 规则代码实现 3 总结 4 参考资料 1 前言 为了实现如标题所述的将多个静态库合并为一个动态库,内置的 Bazel ...
- layui表单验证 内置自定义规则 - 使用说明
关于 layui表单的验证规则.调用.自定义规则的使用经验总结: 除了 layui 本身配套的一个验证体系,还支持开发者自定义验证规则(如上表中的[自定义密码验证(代码参考下文)]),并直接嵌入到页面 ...
- drools动态配置规则_微服务实战系列(八)-网关springcloud gateway自定义规则
1. 场景描述 先说明下项目中使用的网关是:springcloud gateway, 因需要给各个网关服务系统提供自定义配置路由规则,实时生效,不用重启网关(重启风险大),目前已实现:动态加载自定义路 ...
最新文章
- codeforces round 421 div2 补题 CF 820 A-E
- 在VMware15中创建虚拟机安装ubuntu系统(超详细教程)
- 软件工程 之 动物世界
- ASP.NET Core Web API 最小化项目
- java map 不存在的key_java – HashMap表示即使它确实存在,Key也不存在
- python如何输入多行数据合并_python 实现将txt文件多行合并为一行并将中间的空格去掉方法...
- java.util.zip.zipexception_android-如何解决java.util.zip.ZipException?
- oracle 循环继续,oracle – 是否可以继续从异常循环?
- 判断相等_为什么不建议你用a.equals(b)判断对象相等
- Docker-Compose 基础与实战,看这一篇就够了 | 原力计划
- 125条常见的java面试笔试题大汇总1
- MySQL学习日志(二)
- 【原】创建 WPF 不规则窗口
- w7为什么计算机没有摄像头.,W7笔记本摄像头怎么打开
- VUE 3文件上传 Change事件无效 和 unsupported media type 415
- 计算机专业可以当警校吗,警校开设的计算机类专业,毕业生就业方向偏向于信息安全,请注意...
- 倪光南建议禁用Win10政府版 微软合作方回应
- JS根据屏幕分辨率自动调整字体大小
- java jsoup解析开彩网api接口json数据实例
- RabbitMQ 开发时指定消息消费者的方式