作者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