首页
社区
课程
招聘
[旧帖] [求助]堆栈为什么高位是栈底? 0.00雪花
发表于: 2007-10-17 15:31 6055

[旧帖] [求助]堆栈为什么高位是栈底? 0.00雪花

2007-10-17 15:31
6055
与平常的习惯不同啊,我感觉应该是和硬件相关,但不太清楚。感觉好像是为了配合ESP,ESP指的是堆栈还剩余多少,这下可以CPU计算更会快?
另外想问下,堆栈是放内存还是放CPU缓存中?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
neicun
2007-10-18 00:50
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你看看<数据结构>
2007-10-18 15:41
0
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
堆栈为什么高位是栈底?
这个是不是问 为什么内存是从小到大,堆栈是从大到小?
据说是为了充分利用内存,如下图
=======整个内存=====
内存   往下延伸
|
.
.
.
|
堆栈顶   往上延伸
====================
2007-10-18 19:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
x86 CPU就是这么设计的,硬件决定的,讨论这个没意义

就象x86采用小端内存方式一样,都是设计的问题,完全可以不这样,好象mips,arm这些处理器就不是这样(至少内存大小端组织方式上就不是这样)

对堆栈的设计方式有两种,一种是向下生长的(x86就是这种),另一种是向上生长的
2007-10-18 22:20
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
栈是先进后进的吗,比如一杯糖,先放的是白糖,所以白糖在下面,然后放红糖,红糖在上面
你要倒出来必须先从上往下倒吧,所以先倒红糖,然后白糖才能出来,这就称之为栈
看看
数据结构 就全懂了那里不光介绍栈,还有好多东西呢
2007-10-18 22:26
0
游客
登录 | 注册 方可回帖
返回
//