没有递归函数调用会发生堆栈溢出吗?

时间:2014-02-19 09:37:14

标签: stack-overflow

通常当程序因堆栈溢出而崩溃时,这意味着存在没有正确退出条件的递归调用。但还有其他方法可以让堆栈溢出吗?

1 个答案:

答案 0 :(得分:0)

如果你在堆栈上分配,是的,它可能会发生,具体取决于语言。例如,使用C99函数alloca:它在手册页上特别说明:

  

所做的分配可能会超出堆栈的范围,甚至可能会进一步进入内存中的其他对象,而alloca()无法确定这样的错误。