2014-02-19 65 views
0

通常,當程序因堆棧溢出而崩潰時,意味着存在遞歸調用而沒有正確的退出條件。但是有沒有其他方法來獲得堆棧溢出?沒有遞歸函數調用會發生堆棧溢出嗎?

+0

可能重複http://stackoverflow.com/questions/1583490/without-using-recursion-how-can-a-stack-overflow-exception-be-thrown – zvisofer

+0

理論上你可以只是有足夠的方法調用你堆棧溢出。但是,這將是一個可怕的程序設計的標誌! –

回答

0

如果你在堆棧上分配,是的,它可能發生取決於語言。例如,使用C99功能alloca:它明確表示,該名男子頁:

做可能超過堆棧的界限,甚至進一步進入其他對象在內存中,ALLOCA()的分配不能確定這樣的錯誤。