0 关于Stack栈的作用 - - 21ic电子技术开发论坛
打印
[CW32F030系列]

关于Stack栈的作用

[复制链接]
263|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2024-11-29 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Stack_Size就是栈大小,0x00000400就是代表有1K(0x400/1024)的大小。
那这个栈到底用来干嘛的呢?
比如说我们函数的形参、以及函数里定义的局部变量就是存储在栈里,所以我们在函数的局部变量、数组这些不能超过1K(含嵌套的函数),否则程序就会崩溃进入hardfaul。
除了这些局部变量以外,还有一些实时操作系统的现场保护、返回地址都是存储在栈里面。
还有一点题外话,就是栈的增长方向是从高地址到低地址的。

使用特权

评论回复
沙发
tpgf| | 2024-12-4 08:23 | 只看该作者
在计算机科学中,栈用于管理程序运行时的函数调用

使用特权

评论回复
板凳
八层楼| | 2024-12-4 08:53 | 只看该作者
栈可用于检查括号是否正确匹配。遍历字符串时,每遇到左括号就将其压入栈中,遇到右括号时就从栈中弹出一个左括号进行匹配

使用特权

评论回复
地板
晓伍| | 2024-12-7 08:13 | 只看该作者
每当一个函数被调用时,其相关信息(如返回地址、局部变量等)会被压入栈中

使用特权

评论回复
5
观海| | 2024-12-7 17:58 | 只看该作者
每次访问一个节点后,将该节点压入栈中,然后继续访问其邻居节点。通过栈可以方便地回溯到上一个节点,探索其他可能的路径

使用特权

评论回复
6
guanjiaer| | 2024-12-7 20:11 | 只看该作者
每当函数被调用时,系统会在栈上为其分配一定的空间来存储局部变量和参数;当函数返回时,这些空间会被自动释放

使用特权

评论回复
7
heimaojingzhang| | 2024-12-7 22:31 | 只看该作者
在文本编辑器中,栈常用于实现“撤销”功能。每次执行一个操作(如输入字符或删除字符),该操作都会被记录下来并压入栈中。当用户选择“撤销”时,从栈中弹出最近的操作并还原状态

使用特权

评论回复
8
AdaMaYun| | 2024-12-10 08:58 | 只看该作者
崩溃进入hardfaul如何退出呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1782

主题

13244

帖子

55

粉丝