分配给任务的堆栈的栈顶指针_理解
2016-02-26 14:23
204 查看
我来说下我的理解吧,向上增长就是从低地址向高地址增长,数组元素的地址是递增的这个是肯定的,假设这个堆栈区的内存地址是从0~99,对应的数组的地址就是&Table[0]~&Table[99],其中&Table[0] = 地址0,&Table[1] = 地址1,以此类推,&Table[99] = 地址99,上面上说了堆栈的增长方式是向上增长,那么第一个压入栈的数据肯定存在&Table[0]这个里面,此时栈顶和栈底重合,随着你压入数据越来越多,直到压满整个堆栈区为止,压满数据后栈顶指针为&Table[99],也就是说栈顶和栈底相距“最远”,我猜你肯定看的是任哲的书,他说OSTaskCreate();这个函数的第三个参数是栈顶指针,其实他这句话说得容易引起误解,他应该在栈顶指针前面加个形容词“空栈时候的”,因为这个函数的第三个参数是空栈时候的栈顶指针,此时的栈顶指针和栈底指针是重合的,如果堆栈是向上增长,那么空栈时候的栈顶指针肯定指向&Table[0]呀;如果堆栈是向下增长,那么空栈时候的栈顶指针肯定指向&Table[99]呀,从指针&Table[99]开始压入数据,压一个数据之后地址减1,指向&Table[98],以此类推...
相关文章推荐
- 已解决的问题课程笔记
- mysql5.7在windows8.1下安装的各种问题
- 第七章 变形 trnasform
- Android应用开发中Action bar编写的入门教程
- 友元
- idea 更换编辑器背景图片
- 从网络上获取国际标准时间
- docker 私有仓库搭建
- window.location和window.open的区别
- 日本设计的七个原则
- Java设计模式 - 适配器模式
- 利用AIDL注册service在进程之间传输图片
- unity3d调用jar类中的方法和属性
- android 编程小技巧(1)---超实用的LogUtil
- WebKit之V8技术优化分析
- WebKit之chromium进程创建过程分析
- UVA 10539(p343)----Almost Prime Numbers
- UVA 10603(p202)----Fill
- [leetcode] 210. Course Schedule II 解题报告
- 十一、Android_UiAutomator 报告查看