【发布时间】:2016-07-01 00:29:37
【问题描述】:
当我的输入足够大时,在项目中使用可变长度数组的地方会出现分段错误。我想将它们全部删除,如何让 GCC 显示它找到的可变长度数组的每个声明?
我尝试使用-Wstack-usage=1000 并过滤消息warning: stack usage might be unbounded,但这给了我功能,而不是声明。有没有更好的办法?
【问题讨论】:
-
使用选项
-std=c89 -pedantic然后warning: ISO C90 forbids variable length array -
删除所有 VLA 听起来有点矫枉过正。您只需要删除大小不可预测的超大或 VLA。也许你可以 grep 他们。
-
好吧,我真的不考虑大小为
static const变量的VLA... -
@BLUEPIXY 不能那样做。休息
for(int i = 0;.... -
如果知道包含 VLA 的函数还不够,我只是有多么糟糕,我有点担心。
标签: c gcc gcc-warning variable-length-array