線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:6308
推到 Plurk!
推到 Facebook!

Out of memory的問題

尚未結案
wub
一般會員


發表:1
回覆:4
積分:1
註冊:2005-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-24 23:31:53 IP:59.113.xxx.xxx 未訂閱
1.一個關於記憶體的問題,當陣列宣告到某一程度以上時,編譯時就會出現下列錯誤訊息。 [Linker Fatal Error] Fatal: Out of memory 請問該如何增加記憶體,或是有其它解決方法。 2. 我用的開發環璄是BCB5.0 ,我常遇到一個問題,程式碼都沒變,但編譯時經常會有下列錯誤訊息。 [Linker Error] Fatal: Access violation. Link terminated. 我在Project->Options->Packages內將Delphi 1.0 Compatibility Components選項取消,會好一些,但還是偶而會發生。
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-25 08:21:02 IP:61.66.xxx.xxx 未訂閱
wub你好,請參考    http://delphi.ktop.com.tw/topic.php?topic_id=67044 【BCB】【問題】關於超大的陣列
wub
一般會員


發表:1
回覆:4
積分:1
註冊:2005-03-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-25 20:23:01 IP:59.113.xxx.xxx 未訂閱
非常感謝blk5743兄的指點: 我的狀況是大約宣告了80個陣列,有二維及三維的,但當我宣告第81個陣列時Builder就會出現Out of memory,原以為是電腦的RAM不足,還特別將電腦加了RAM,但還是沒用,在Visual C 裡好像有增加記憶體的指令參數,不知道在C Builder5.0內是否可設定或用程式的指令調整。
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-25 21:52:30 IP:211.76.xxx.xxx 未訂閱
請問你的資料是配置在stack(宣告local變數)上還是heap(用new產生)?
wub
一般會員


發表:1
回覆:4
積分:1
註冊:2005-03-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-25 22:53:06 IP:59.113.xxx.xxx 未訂閱
抱歉沒說清楚,我不是用new產生的,應該是靜態的(stack),其中一個陣列宣告大約是這樣的: float a[b][c][16]; b=Form1->Edit1->Text;//b,c可於Edit內指定,其值大約10~250。 c=Form1->Edit2->Text; 發表人 - wub 於 2005/03/25 23:07:13
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-25 23:26:12 IP:211.76.xxx.xxx 未訂閱
或許動態配置多維陣列可以解決你的問題,站上已有不少相關的文章,可以利用搜尋的功能找到。
wub
一般會員


發表:1
回覆:4
積分:1
註冊:2005-03-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-26 16:17:33 IP:59.113.xxx.xxx 未訂閱
感謝blk5743及pwipwi二位熱心指導,我本來想知道靜態配置,是否可以突破限制,但討論後好像不太可行,仍以用動態配置是比較可行辦法。
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-27 04:23:46 IP:203.204.xxx.xxx 未訂閱
dllee大大等發表的這篇探討記憶體的文章蠻精采的~ http://delphi.ktop.com.tw/topic.php?topic_id=52293 stack和heap的配置可在Project->Options->Linker下的 PE File Options進行調整~試看看
wub
一般會員


發表:1
回覆:4
積分:1
註冊:2005-03-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-30 00:17:40 IP:59.113.xxx.xxx 未訂閱
謝謝rogan321兄的指點,我將PE File Options內的stack設定調到最大,再將所宣告的陣列精算其大小,加以減肥,已可以滿足程式的需求,後來發現其實stack的空間還不小,只要宣告時不要太浪費,應該可以夠用的。
系統時間:2024-05-19 18:17:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!