哪种语言/平台没有固定的堆栈大小?

时间:2009-05-29 04:49:22

标签: stack stack-size

某些语言或平台没有固定大小的堆栈,因此不容易溢出?我记得在UNIX上使用C,在Win 3.1的时候堆栈很难溢出,堆栈很容易溢出。

3 个答案:

答案 0 :(得分:2)

如果通过“堆栈”表示任何旧堆栈,大多数语言都会这样做 - Java只有内存限制stack类。更可能你的意思是调用堆栈,在这种情况下,我能想到的最大的例子是Stackless Python,根据我的理解,它使用纯python内存限制堆栈(如Java)作为Python的调用堆栈代码,而不是使用C的调用堆栈。

答案 1 :(得分:1)

这是一个实际问题与理论问题。 lisp解释器的堆栈仅受可用内存的限制

在方案和实现尾递归的其他语言中,尾递归函数将具有无限堆栈

答案 2 :(得分:0)

Mac系统6,7和8的调用堆栈可以在没有人为限制的情况下增长。

它也没有保证检测堆栈 - 堆冲突的方法,并且可以让你遇到各种各样的麻烦...