作者sunneo (艾斯寇德)
看板PLT
标题[转录][闲聊] stack和heap的差别
时间Tue Aug 28 18:19:39 2007
※ [本文转录自 C_and_CPP 看板]
作者: mystea (mystea) 看板: C_and_CPP
标题: [闲聊] stack和heap的差别
时间: Tue Aug 28 18:11:11 2007
感觉起来, 这两种memory都是用过以後可以回收再利用的.
差别好像是在於, stack每次要划分多少都是先规划好的,
而heap是可以随着使用者的input在runtime决定划分方法的.
但如果是这样, 为什麽不乾脆就只有heap memory呢? 这样子就不会
发生甚麽stack overflow的情形了. 程式在runtime执行code里规划好的
记忆体划分应该不难才对呀?
谢谢.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 76.170.235.113
※ 编辑: mystea 来自: 76.170.235.113 (08/28 18:12)
1F:→ sunneo:转PLT讨论一下好了‧_‧/ 08/28 18:19
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.209.65
2F:推 godfat:这跟电脑架构有关...大可自己做 call stack, 然後跑个 08/28 18:41
3F:→ godfat:无穷递回就把 memory 吃光 O_o 这样不好吧... 08/28 18:43
4F:→ sunneo:说的也是呢 =3= 回圈里面也是用到区域变数的 08/28 19:48
5F:推 mystea:能不能讲解得详细一点呢? 如果有用stack跑无穷递回就不会吃 08/29 02:52
6F:→ mystea:光记忆体了吗? 08/29 02:54
7F:推 sunneo:会回收掉 08/29 08:20
8F:→ sunneo:stack碰到'}' 或者end区块就会死掉了,heap可不会 08/29 08:21
9F:推 ephesians:对话很有趣,但不是用stack比较不会被吃光记忆体; 08/29 08:49
10F:→ godfat:会先 stack overflow 08/29 10:05
11F:→ sunneo:stack overflow会? 爆炸 08/29 11:30