禁用GCC的具体警告禁用GCC的具体警告(disable specific warnings in

2019-05-16 16:12发布

微软的编译器,具体的警告可以用的#pragma被禁用,而无需禁用其它警告。 这是一个非常有用的功能,如果编译器警告过的东西,“有许多工作要做。”

请问GCC在这一点上也有类似的功能吗? 这似乎是一个明显的不足功能,以其超乎想象的,它不会有此功能还,但在网络上较旧的信息表明此功能不存在。

是什么人在GCC使用?

具体而言,我喜欢使用多字符常量,如“ABC”。 这些有效的评估为基地256号 - 一个非常方便的功能,但它触发警告。 它非常方便的在一个case语句接通四个字符的字符串。

Answer 1:

这可以通过gcc的进行诊断编译指示 。



Answer 2:

从GCC手册:

   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存在我不知道。



Answer 3:

-Wno-multichar:

如果多字符常量(“FOOF”)使用时不发出警告。 他们通常表明用户的密码输入错误,因为他们有实现定义的值,并且不应该在可移植的代码中使用。

更多信息 。



Answer 4:

里面的源代码写:

#pragma GCC diagnostic ignored "-Wno-multichar"

// code with  warnings but wont be displayed now...


文章来源: disable specific warnings in gcc