什么是调用堆栈?

 我来答
旅游小达人Ky
高粉答主

2021-11-12 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1893
采纳率:100%
帮助的人:38.5万
展开全部

调用栈是解析器的一种机制,可以在脚本调用多个函数时,跟踪每个函数在完成执行时应该返回控制的点。

当脚本要调用一个函数时,解析器把该函数添加到栈中并且执行这个函数。任何被这个函数调用的函数会进一步添加到调用栈中,并且运行到它们被上个程序调用的位置。当函数运行结束后,解释器将它从堆栈中取出,并在主代码列表中继续执行代码。

如果栈占用的空间比分配给它的空间还大,那么则会导致Stack Overflow(栈溢出)错误。我们的调用栈列表生不带来,死不带走,从一个空的调用栈开始,当所有代码执行完毕,我们得到的还是一个空的调用栈。

基本的原理就是,每当我的代码中有函数被调用,该函数就会自动添加到栈中,在执行完该函数的所有代码任务后,它就会自动从栈中删除。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式