2016-03-15 39 views
4

當我的輸入大小足夠大時,分段故障會在項目中使用可變長度數組的地方發芽。我想將它們全部移除,如何讓GCC顯示它找到的每個可變長度數組的聲明?在代碼中查找可變長度數組

我已經嘗試使用-Wstack-usage=1000和過濾消息warning: stack usage might be unbounded,但這給了我的功能,而不是聲明。有沒有更好的辦法?

+1

使用選項'-std = c89 -pedantic'然後'警告:ISO C90禁止可變長度數組' – BLUEPIXY

+1

刪除所有的VLA聽起來像過度殺傷。您只需刪除尺寸不可預測的超大尺寸或VLA。也許你可以grep他們。 – Olaf

+0

那麼,我真的不認爲VLA的大小是一個「靜態常量」變量...... – lvella

回答

7

我很確定我之前做過這些,並且感謝評論,我再次找到了解決方案:使用-Wvla編譯器開關。