全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2699
推到 Plurk!
推到 Facebook!

錯誤訊息stack overflow

缺席
kkeenn
一般會員


發表:10
回覆:4
積分:2
註冊:2006-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-08-05 03:31:08 IP:125.229.xxx.xxx 未訂閱

我設了一個

A:array[0..511,0..511] of double;

然後計算結果存入陣列中

在編譯的時候都沒有出錯

可是執行檔執行時就出現stack overflow

然後很快的整個應用程式就關起來

如果把陣列大小改小的話就不會出現這個問題(像原本是0..511改成0..50)

請問這該如何解決

bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-08-06 00:15:13 IP:218.163.xxx.xxx 未訂閱

建議將你的程式碼列出來,比較好解決問題。

一般來說 Stack overflow 大多是在運算的架構上大量呼叫函數而使用到 Stack 最後累積到超過上限而造成。

在不修改程式的方式下可以先採用調整專案設定的方式來提高 Stack 的上限。

在 Project > Options > Linker > Memory sizes 中的 Max stack size 的數值加大。

不過這樣只是先迴避問題的解決方式。當運算的範圍更加擴大時,問題就會浮現。

------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
gz818
一般會員


發表:0
回覆:3
積分:0
註冊:2002-08-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-08-12 00:31:09 IP:222.82.xxx.xxx 未訂閱

一般来讲是因为函数递归调用没有出口,或递归调用次数超过了堆栈!

系統時間:2024-11-22 9:53:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!