gcc的编译选项 -fpermissive,请谨慎使用

 -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);


猜你喜欢

转载自blog.csdn.net/liaofengjun/article/details/52739997