如何禁用警告:二进制常量是GCC扩展

Iva*_*nov 10 gcc suppress-warnings

如何禁用"警告:二进制常量是GCC扩展"?

我有活跃-Wextra -pedantic并想要禁用上述警告?怎么做而不会无意中禁用其他警告?

Yam*_*ure 4

一般来说,您可以使用以下选项找出哪个开关控制哪个警告

-fdiagnostics-show-option
Run Code Online (Sandbox Code Playgroud)

但这个警告说:

warning: binary constants are a GCC extension [enabled by default]
Run Code Online (Sandbox Code Playgroud)

作为扩展意味着,它是通过 -pedantic 启用的

这里: http: //gcc.gnu.org/bugzilla/show_bug.cgi? id=23479#c3 已经讨论过将警告添加到 -Wgcc-extensions,但该开关不存在。

来自http://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/C-Extensions.html#C-Extensions的手册

GNU C 提供了 ISO 标准 C 中没有的多种语言功能。(如果使用了这些功能中的任何功能,-pedantic 选项会指示 GCC 打印警告消息。)要测试这些功能在条件编译中的可用性,请检查预定义的宏GNUC,始终在 GCC 下定义。