作者zxvc (修行)
看板C_and_CPP
标题[问题] stack v.s. heap sizes
时间Sat Sep 12 20:14:48 2009
在Windows上stack最大可以设到32MB,
heap却可以设定到2GB。
请问为何这两个限制大小差那麽多?
静态变数(在stack)不是效能比较好吗!?
为什麽需要配置大量空间不建议配置在stack?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.221.79
1F:→ suhorng:静态变数!? 09/12 20:54
2F:→ zxvc:应该说"静态记忆体配置的变数"。 09/12 21:08
3F:推 bobhsiao:stack是给local var用的, 通常几十KB就够了 09/12 22:12
4F:→ bobhsiao:heap是给malloc/new用的, 使用量视AP而定 09/12 22:13
5F:推 final01:heap可动态释放!不过stack效能较好到是事实巴 09/12 23:06
6F:推 Ebergies:这是逻辑上的思考, 通常 stack 是用来存取 function 内 09/12 23:15
7F:→ Ebergies:的变数, 若 function 内的 local var 过大, 那麽这个 09/12 23:15
8F:→ Ebergies:function 势必不够灵活, 光 recursive 没几次再大的 09/12 23:16
9F:→ Ebergies:stack 也不够用, 而这类超大空间的配置就使用上也大多 09/12 23:17
10F:→ Ebergies:只需要配置很少的次数, 因此放在 heap 是合理且好的作法 09/12 23:17
11F:→ zxvc:谢谢楼上。 09/14 20:16