禁用gcc中的特定警告
在Microsoft编译器上,可以使用#pragma禁用特定警告,而不禁用其他警告。 如果编译器警告“必须完成”的事情,这是非常有用的function。
GCC在这一点上是否有类似的function? 这似乎是一个足够明显的function,它是不可能的,它不会有这个function,但networking上的旧信息表明这个function不存在。
在GCC中使用什么?
具体来说,我喜欢使用多字符常量,比如'abc'。 这些评估有效地作为一个基地256号码 – 一个非常方便的function,但它会触发警告。 它非常方便在一个case语句中切换四个string。
这可以用gcc的诊断编译指示来完成。
从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.
但是,如果你问是否有源代码级警告禁用,我不知道如果该function存在于gcc。
-Wno-multichar :
如果使用多字符常量('FOOF'),请不要警告。 通常,它们表示用户代码中的拼写错误,因为它们具有实现定义的值,不应在可移植代码中使用。
更多信息 。
内部源代码编写:
#pragma GCC diagnostic ignored "-Wno-multichar" // code with warnings but wont be displayed now...