问题描述
我正在写有关调用堆栈的概念,我想用不同的语言来探讨调用堆栈的局限性。
Python
import sys
print(sys.getrecursionlimit())
JavaScript
let count = 0;
const counter() {
count++;
counter();
}
counter();
我也想对C有所了解。但是我的主要问题是,这个数字是否是由语言设置的数字,或者该数字是否完全取决于设备的内存大小。
解决方法
这取决于很多因素,例如操作系统,设备和RAM数量。在许多编译语言中,操作系统使您可以扩展堆栈,直到OS决定不再需要它为止。在许多嵌入式设备中,黑客有意将堆栈扩展到超出预期的范围,以便闯入该设备。