-fno-diagnostcs-color 不删除格式

-fno-diagnostcs-color Doesn't remove formatting

这是来自 make 的示例输出:

gcc -fno-diagnostics-color -Wall -fPIC -ggdb -I. -c parens.c -o parens.o
In file included from parens.y:4:0:
parens.h:10:22: error: expected identifier before â00(â01 token
 #define GREATER_THAN (1 << 6)

注意 â00(â01 部分。

GCC 版本:gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406.

$GCC_COLORS 未定义。

如何去掉额外的格式,反正打印不正确?

这些非ASCII字符不是格式,而是UTF-8编码的引号。尝试将 LC_ALL 环境变量设置为 C(或者可能只是 LC_CTYPE),然后 GCC 将发出 ASCII 引号。

或者,告诉您终端正确处理 UTF-8,这可能是更好的投资,因为 UTF-8 现在应​​该无处不在。