我正在撰写有关调用堆栈概念的文章,我想谈谈不同语言中调用堆栈的局限性。我知道有一些方法可以查看调用堆栈上可以有多少帧,例如:Pythonimport sysprint(sys.getrecursionlimit())Javascript let count = 0; const counter() { count++; counter(); } counter();我也想知道 C 的情况。但我的主要问题是这个数字是否是由语言设置的数字,或者该数字是否完全取决于设备有多少 ram。
1 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
这取决于很多因素,例如操作系统、设备和 RAM 量。在许多编译语言中,操作系统允许您增加堆栈,直到操作系统决定不再提供给您为止。在许多嵌入式设备中,黑客故意将堆栈扩展到超出预期范围,以便侵入设备。
添加回答
举报
0/150
提交
取消