在gcc中禁用可变长度的自动数组

即使使用-std=c89标志,我也无法禁用它。 我怎样才能禁用它?

您可以使用编译器标志为可变长度数组生成错误:

 -Werror=vla 

C89中的可变长度数组?

GCC始终支持可变长度数组AFAIK。 设置为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__没有效果。