基本上我想忽略文字中关于空字符的警告。
GCC表示默认启用此警告。
我无法为此警告找到合适的-Wno-
选项。
您在此类代码中收到此类警告
const char input[] = "abc^@123";
其中^@
表示ASCII 0字符(您可以通过 Ctrl v 0 输入vim
- 并在光标放在角色上时,通过命令模式中的 g a 进行验证。
答案 0 :(得分:3)
它发生在词法分析器中,看起来你不能禁用检查。 :-(这是libcpp/lex.c
的代码段:
if (saw_NUL && !pfile->state.skipping)
cpp_error (pfile, CPP_DL_WARNING,
"null character(s) preserved in literal");
如您所见,在发出警告之前不会检查任何选项。