️ clang-tidy 的规则能够帮助检查潜在的问题,不要盲目抑制警告!

可以通过添加 NOLINT, NOLINTNEXTLINE, 以及 NOLINTBEGIN … NOLINTEND 注释来抑制某些(或所有)clang-tidy 警告。

  • NOLINT 抑制同一行的警告
  • NOLINTNEXTLINE 抑制下一行的警告
  • NOLINTBEGIN … NOLINTEND 抑制多行警告
  • 上述 3 种标记都可以增加一对圆括号,来抑制特定类型的警告,可以用逗号分隔,抑制多种类型的警告;通配符也是可以的!
class Foo {
// 抑制本行所有的警告
Foo(int param); // NOLINT // 可以增加说明,解释抑制警告的理由
Foo(char param); // NOLINT: Allow implicit conversion from `char`, because <some valid reason> // 只抑制 google-explicit-constructor 和 google-runtime-int 两种类型的警告
Foo(double param); // NOLINT(google-explicit-constructor, google-runtime-int) // 抑制所有 `google` 开头的警告
Foo(bool param); // NOLINT(google*) // 抑制所有以 `-avoid-c-arrays` 结尾的警告
int array[10]; // NOLINT(*-avoid-c-arrays) // 抑制下一行 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTNEXTLINE(google-explicit-constructor, google-runtime-int)
Foo(bool param); // 抑制下一行所有 `google` 开头的警告
// NOLINTNEXTLINE(google*)
Foo(bool param); // 抑制下一行以 `-avoid-c-arrays` 结尾的警告
// NOLINTNEXTLINE(*-avoid-c-arrays)
int array[10]; // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTBEGIN(google-explicit-constructor, google-runtime-int)
Foo(short param);
Foo(long param);
// NOLINTEND(google-explicit-constructor, google-runtime-int) // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google 开头的警告
// NOLINTBEGIN(google*)
Foo(bool param);
// NOLINTEND(google*) // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的以 `-avoid-c-arrays` 结尾的警告
// NOLINTBEGIN(*-avoid-c-arrays)
int array[10];
// NOLINTEND(*-avoid-c-arrays)
};

Reference

https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics

如何抑制特定 clang-tidy 警告的更多相关文章

  1. VS SuppressMessage忽略特定方法的警告信息

    VS在编译源码的时候有很多警告信息,有些时候 我们需要忽略一个特定方法的特定警告信息,于是就用SuppressMessage特性,可是这个特性的参数不太好搞定,还好有VS,Suppressing Co ...

  2. iOS编程 手动忽略clang编译器警告

    在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能运行之类的警告. 有代码洁癖的孩子们非常想消除他们, 今天就让我们来一次Fuck 警告.! 首先学会主要的语句 #pra ...

  3. 【转】clang warning 警告清单(备查,建议直接command + F 速查 )

    Warning Message -WCFString-literal input conversion stopped due to an input byte that does not belon ...

  4. 转载 C#中敏捷开发规范

    转载原地址 http://www.cnblogs.com/weixing/archive/2012/03/05/2380492.html 1.命名规则和风格 Naming Conventions an ...

  5. clang和gcc消除警告

    1. clang命令,它的作用是用来消除特定区域的clang的编译警告,-Wgnu则是消除?:警告, 例: #pragma clang diagnostic push #pragma clang di ...

  6. @SuppressWarnings抑制警告

    @SuppressWarnings(“XXXX”) 来抑制编译时的警告信息.参数如下: 关键字 用途 all to suppress all warnings boxing  to suppress ...

  7. @SuppressWarning 抑制警告注解

    @SuppressWarning 抑制警告注解 Java.lang.SuppressWarnings 是 J2SE5.0中标准的Annotation 之一. 可以标注在类,字段,方法,参数,构造方法, ...

  8. Java @SuppressWarnings:抑制编译器警告-4

    Java 中的 @SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素.例如,使用 @Supp ...

  9. 谈谈Objective-C的警告 (转)

    原文地址:http://onevcat.com/2013/05/talk-about-warning/ 一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. ——@onevcat ...

  10. Xcode关闭警告

    对于关闭某个警告,如果需要全局关闭的话,直接在Other C Flags里写 -Wno-...就行了,比如 -Wextra -Wno-sign-compare 就是一个常见的组合.如果相对某几个文件开 ...

随机推荐

  1. c语言代码练习13

    //打印九九乘法表#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int x = 0; int y = ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (108)-- 算法导论10.1 6题

    六.用go语言,说明如何用两个栈实现一个队列,并分析相关队列操作的运行时间. 文心一言: 使用两个栈实现队列的基本思想是利用一个栈(stack1)来处理入队操作,另一个栈(stack2)来处理出队操作 ...

  3. GeoServer发布影像WMTS服务

    WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案. WMTS: 切片地图web服务(OpenGIS Web Map Tile Service) 使用GeoServer发布WMTS服 ...

  4. Nuxt.js 生成sitemap站点地图文件

    Nuxt.js 生成sitemap站点地图文件 背景介绍 ​ 使用nuxt框架生成静态文件支持SEO优化,打包之后需要生成一个 sitemap.xml 文件方便提交搜索引擎进行收录.官网有提供一个插件 ...

  5. 如何使用DALL-E 3

    如何使用 DALL-E 3:OpenAI 图像生成指南 DALL-E 3 是 OpenAI 图像生成器的高级版本,它可以理解自然语言提示来创建详细图像. 它克服了以前版本的方形图像限制,现在支持各种宽 ...

  6. keepalived部署+nginx高可用

    nginx+keepalived搞性能web网络架构实战配置: 环境准备: keepalived+nginx-1: 192.168.1.23 keepalived+nginx-2: 192.168.1 ...

  7. 深度解读MediaBox SDKs如何实现技术架构升级

    本专栏将分享阿里云视频云MediaBox系列技术文章,深度剖析音视频开发利器的技术架构.技术性能.开发能效和最佳实践,一起开启音视频的开发之旅.本文为MediaBox技术架构篇,重点从音视频终端SDK ...

  8. 博弈论nim游戏

    nim游戏 给定n堆物品,第i堆物品有Ai个,两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取.取走最后一件物品的人获胜. 定理:nim游戏先手必胜,当且仅当A1 xor ...

  9. ASP.NET CORE MVC的一些说明

    1.ASP.NET CORE MVC 是微软公司的Web应用开发框架,结合了MVC架构的高效.简洁等优秀思想并融合了.NET的灵活性. 2.ASP.NET诞生于2002年,当时微软想保持桌面应用程序的 ...

  10. [Python急救站课程]太阳花的绘制

    太阳花的绘制 from turtle import * color('red', 'yellow') # 分别定义填充颜色 begin_fill() while True: forward(200) ...