C++ 禁用GCC关于“的警告”;下划线带前缀的用户定义文字“;

C++ 禁用GCC关于“的警告”;下划线带前缀的用户定义文字“;,c++,gcc,C++,Gcc,我的一个客户机有很多使用“ui64”、“ui32”等的代码。。。后缀,我需要移植它 为了避免长时间验证几个regex find+替换,我将上述后缀复制为用户定义的文本 我正在寻找“-Wno xxx”标志作为“不以“uz”开头”警告的结果 我已经搜索了警告列表,但我的大脑目前患有相当严重的字母汤综合症,所以我很可能错过了 我正在使用cygwin附带的g++4.8.2。我相信您正在寻找-Wno文字后缀 由于gcc-7(见此处直播),此选项还: -Wliteral后缀(仅限C++和Objective-

我的一个客户机有很多使用“ui64”、“ui32”等的代码。。。后缀,我需要移植它

为了避免长时间验证几个regex find+替换,我将上述后缀复制为用户定义的文本

我正在寻找“-Wno xxx”标志作为“不以“uz”开头”警告的结果

我已经搜索了警告列表,但我的大脑目前患有相当严重的字母汤综合症,所以我很可能错过了


我正在使用cygwin附带的g++4.8.2。

我相信您正在寻找
-Wno文字后缀

由于gcc-7(见此处直播),此选项还:

-Wliteral后缀(仅限C++和Objective-C++)

此外,当用户定义的文字运算符声明为文字后缀标识符时,如果该标识符不正确,则发出警告 以下划线开头。不以开头的文字后缀标识符 带有下划线的标记保留用于将来的标准化



您可以使用
--help=warnings
选项让GCC转储所有可用的警告选项。

默认情况下,警告处于启用状态,并且它清楚地告诉您不在警告之前加下划线有什么问题:
警告:未加“\u”的文本运算符后缀保留用于将来的标准化[默认情况下启用]
在这种情况下,合规性需要退居次要地位,直到更严重的问题得到解决。这个警告需要把已经很长的问题列表弄得乱七八糟,这是毫无帮助的。为什么不能在用户定义的文本中添加下划线呢?现在,你的程序是不正确的。如果不能直接完成,请考虑使用<代码> GRIP-V“文字运算符后缀”< /C>或类似于编译器输出的东西来清除它。可能的警告副本仍然会出现在我面前。默认情况下,它处于启用状态。你看怪怪的。它毫无怨言地吃掉了这个选项,但它没有出现在列表中。但是仍然不起作用。文档在这里:文档还提供了警告存在的更多细节:“作为一致性扩展,GCC将此类后缀视为单独的预处理标记,以保持与使用来自的格式化宏的代码的向后兼容性”,因此,您可能实际上不需要忽略警告。很方便,inttypes.h在代码库中的任何地方都不会出现。顺便说一句,我认为它们需要单独处理,以方便使用该功能,因为将后缀与其值合并可能会使解析这些运算符变得相当复杂。