堆栈溢出原理的为什么使用堆栈?

 我来答
406丶Even
2016-06-02 · 超过10用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:8.4万
展开全部

现代计算机被设计成能够理解人们头脑中的高级语言。 在使用高级语言构造程序时 最重要的技术是过程(procedure)和函数(function)。 从这一点来看, 一个过程调用可 以像跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令。 这种高级抽象实现起来要靠堆栈的帮助。 堆栈也用于给函数中使用的局部变量动态分配空间, 同样函数传递参数和函数返 回值也要用到堆栈。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WYZZWB2011407d2e
高能答主

2016-06-16 · 最想被夸「你懂的真多」
知道大有可为答主
回答量:5.2万
采纳率:77%
帮助的人:7792万
展开全部
一、调用堆栈的含义。
调用堆栈功能可以创建一个过程列表,通过几个活动过程调来跟踪程序的流程。活动过程调用是指应用程序中那些已经启动,还没有结束的过程,使用这个工具,可以验证过程执行顺序是否正确。
二、调用堆栈的实例。
一个过程可以调用第二个过程,第二个过程调用第三个过程,这些调用都是在第一个过程完成之前开始的。这样的嵌套过程调用很难跟踪。调用堆栈可以显示出这种流程。只有程序在中断模式下才可以显示调用堆栈。在调试工具栏上单击【调用堆栈】按钮,或在中断模式下按下控制键加L,可以调用调用堆栈。
三、使用【调用堆栈】对话框。
【调用堆栈】对话框列出了系列嵌套调用中的所有活动过程调用,把最早的活动过程调用放在了列表的底部,后面的过程调用放在了列表的顶端。
为每个过程提供的信息都是以模块或窗体名称开头的,后面是被调用过程的名称。因为【调用堆栈】对话框并不表明赋给窗体一个实例的变量,所以它不区分窗体或类的几个实例。
可以使用【调用堆栈】对话框来显示过程中的语句,这些语句把应用程序的控制传递给了列表中的下一个过程。
在【调用堆栈】对话框中选中要显示的过程调用,单击【显示】按钮,【调用堆栈】对话框就会关闭,过程出现在代码编辑器中,代码编辑器中的光标位置表明了调用【调用堆栈】对话框中下一个过程的语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式