打印

UCOSII小问题请教

[复制链接]
2162|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是土匪|  楼主 | 2010-3-31 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ShakaLeo| | 2010-4-2 10:04 | 只看该作者
任务切换的时候是把工作寄存器和状态寄存器、PC等压入堆栈,局部变量不用在任务切换的时候压栈,因为局部变量就是在任务栈中的。

使用特权

评论回复
板凳
zhide99| | 2010-4-7 20:32 | 只看该作者
局部变量是保存在工作寄存器中的吧,压工作寄存器其实就是保存局部变量吧

使用特权

评论回复
地板
ShakaLeo| | 2010-4-8 13:36 | 只看该作者
楼上:如果用到的局部变量很少,的确有可能在寄存器中,但如果局部变量比较多,或者定义一个比较大的数组,寄存器不够用了,就会分配在栈里面了。寄存器中的内容不只是局部变量,还有运算的中间结果,以及调用函数时传递的参数等,所以压寄存器不能说是保存局部变量。

使用特权

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

本版积分规则

226

主题

1761

帖子

30

粉丝