禁用gcc中的特定警告
在microsoft编译器上,可以使用#pragma禁用特定警告,而不禁用其他警告。如果编译器警告“必须做”的事情,这是一个非常有用的特性 GCC在这一点上有类似的特性吗?这似乎是一个足够明显的功能,无法想象它还没有这个功能,但网上的旧信息表明这个功能并不存在 在GCC中使用什么 具体来说,我喜欢使用多字符常量,比如“abc”。它们作为一个基数256进行有效评估——这是一个非常方便的特性,但它会触发一个警告。在case语句中打开四个字符串非常方便。来自gcc手册:禁用gcc中的特定警告,gcc,compiler-warnings,Gcc,Compiler Warnings,在microsoft编译器上,可以使用#pragma禁用特定警告,而不禁用其他警告。如果编译器警告“必须做”的事情,这是一个非常有用的特性 GCC在这一点上有类似的特性吗?这似乎是一个足够明显的功能,无法想象它还没有这个功能,但网上的旧信息表明这个功能并不存在 在GCC中使用什么 具体来说,我喜欢使用多字符常量,比如“abc”。它们作为一个基数256进行有效评估——这是一个非常方便的特性,但它会触发一个警告。在case语句中打开四个字符串非常方便。来自gcc手册: Many options
Many options have long names starting with -f or with -W---for example,
-fforce-mem, -fstrength-reduce, -Wformat and so on. Most of these have
both positive and negative forms; the negative form of -ffoo would be
-fno-foo. This manual documents only one of these two forms, whichever
one is not the default.
但如果您询问是否存在源代码级警告禁用,我不知道gcc中是否存在该功能。-Wno multichar: 如果使用多字符常量('FOOF'),请勿发出警告。通常它们表示输入错误 用户代码,因为它们具有实现定义的值,不应在中使用 可移植代码
内部源代码编写:
#pragma GCC diagnostic ignored "-Wno-multichar"
// code with warnings but wont be displayed now...
重复:还值得注意的是,可以使用
#pragma GCC diagnostic push
和#pragma GCC diagnostic pop
为少量代码设置诊断。只有一个偶然的堆栈溢出用户提供了一个示例……对我有效的语法是#pragma GCC diagnostic ignored“-Wmultichar”到目前为止,GCC中有pragma