Javascript 调用堆栈帧限制是否取决于ram或语言?
我正在写一篇关于调用堆栈概念的文章,我想谈谈不同语言中调用堆栈的局限性 我知道有很多方法可以查看调用堆栈上可以有多少帧,例如: PythonJavascript 调用堆栈帧限制是否取决于ram或语言?,javascript,python,c,callstack,Javascript,Python,C,Callstack,我正在写一篇关于调用堆栈概念的文章,我想谈谈不同语言中调用堆栈的局限性 我知道有很多方法可以查看调用堆栈上可以有多少帧,例如: Python import sys print(sys.getrecursionlimit()) Javascript let count = 0; const counter() { count++; counter(); } counter(); 我也想知道C也是一样。但我的主要问题是,这个数字是由语言设置的,还是完全取决于设备有多
import sys
print(sys.getrecursionlimit())
Javascript
let count = 0;
const counter() {
count++;
counter();
}
counter();
我也想知道C也是一样。但我的主要问题是,这个数字是由语言设置的,还是完全取决于设备有多少ram。它取决于很多事情,比如操作系统、设备和ram的数量。在许多编译语言中,操作系统允许您增加堆栈,直到操作系统决定不再为您提供。在许多嵌入式设备中,黑客故意将堆栈扩展到超出预期的范围,以便侵入设备。这通常不是编程语言的一个方面。你是说语言实现吗?我认为这是一个需要做出的决定,所以它必须由编写实现的人来做出,但也会受到机器上可用资源的限制。