-fpermissive, gcc文档说明:
Downgrade some diagnostics about nonconformant code from errors to warn-
ings. Thus, using ‘-fpermissive’ allows some nonconforming code to compile.
一旦使用这个选项,可以兼容一些老的语法,但是一些语法错误也会被忽略,问题严重了!!!
比如:
下面的代码没有sizeof(buf),编译一样通过
char buf[512];
snprintf(buf, "%s:%d:%d: %s", source, (int) line, (int) column, desc);
snprintf(buf, sizeof(buf), "%s:%d:%d: %s", source, (int) line, (int) column, desc);