即使使用-std=c89
标志,我也无法禁用它。我该如何禁用它?
答案 0 :(得分:8)
您可以使用编译器标志为可变长度数组生成错误:
-Werror=vla
答案 1 :(得分:3)
Variable-length arrays in C89?
GCC始终支持可变长度阵列AFAIK。将-std设置为C89 没有关闭GCC扩展......
另见:
https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html
http://tigcc.ticalc.org/doc/gnuexts.html#SEC76
最后,
http://tigcc.ticalc.org/doc/gnuexts.html
' -pedantic'和其他选项会导致许多GNU C的警告 扩展。您可以在一个表达式中阻止此类警告 在表达式之前写
__extension__
。__extension__
没有 除此之外的效果。