作者djshen (djshen)
看板EE_DSnP
標題[問題] HW3 stack
時間Mon Oct 24 21:58:00 2011
剛剛測試了一下
STL的stack最多好像只能放1020個
用老師寫的跟我寫的都是同樣結果
如果設定max recursive depth小於1020
則結果是正確的
以下為測試方法
--
開一個檔案叫do5
內容:
do do5
madd a 1
然後進到modCalc裡輸入:
mcalc> mvar a 0
mcalc> do do5
最後會停在:
...(略
mcalc>
mcalc> madd a a 1
a(1021) = 1020 + 1
mcalc>
mcalc>▌
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.9.78
※ 編輯: djshen 來自: 111.248.3.180 (10/24 22:03)
1F:推 ric2k1:哦,我 code 裡面的 stack limit 其實是我自己設的,超過時 10/24 22:20
2F:→ ric2k1:就印出 error message. 不過系統對於 recursion depth 也是 10/24 22:21
3F:→ ric2k1:也是有限制的,沒有控制一下程式是會 crash 掉的。 10/24 22:22
※ 編輯: djshen 來自: 111.248.3.180 (10/24 22:22)
4F:推 ric2k1:至於應該設多少,我想大家可以自行選一個安全的值就好, 10/24 22:22
5F:→ ric2k1:我們不會去測這種 exception case. 10/24 22:23
6F:→ djshen:了解 10/24 22:24
7F:推 wmin0:你可以再用一個do6去開do5 然後把訊息導到檔案去 10/26 01:58
8F:→ wmin0:你會發現真正原因是open file達系統上限 而不是stack爆了!! 10/26 01:58
9F:→ djshen:我也想說stack應該不會那麼小@@ 10/26 02:51
10F:→ djshen:不過用do6開do5 do6也會存到stack裡吧 10/26 02:53
11F:→ djshen:不過看來確實是系統的問題 10/26 02:57
12F:→ gamerred:open file可能是另一個stack吧 總是有人要先爆掉(ry 10/26 18:35