我有一些(遗留)代码,我是第一次用 clang 构建的。代码类似于:
sprintf(buf, "%s <%s ????>", p1, p2);
Clang 给出以下警告(带有 的错误-Werror
):
test.c:6:33: error: trigraph converted to '}' character [-Werror,-Wtrigraphs]
sprintf(buf, "%s <%s ????>", p1, p2);
^
显然,??>
它不打算作为三元组,所以我想完全禁用三元组(源不会故意在任何地方使用它们)。
我已经尝试过-no-trigraphs
,但这并不是一个真正的选择:
clang: warning: argument unused during compilation: '-no-trigraphs'
我可以关闭三字母警告,-Wno-trigraphs
但我根本不希望三字母转换真正发生。
注意:Trigraphs 作为使用-std=c89
.