[問題] BCB 記憶體使用上限

看板C_and_CPP (C/C++)作者 (真好多人)時間16年前 (2010/06/02 00:44), 編輯推噓6(6010)
留言16則, 5人參與, 最新討論串1/1
最近用BCB寫程式碰到一個問題 因為程式是用來做影像處理的,所以要開許多的array 目前碰到的問題是好像已經用到極限了 再新增一個 dynamic array也沒有辦法 請問BCB是有規定程式可使用記憶體的上限嗎? 如果有的話要怎麼做更改呢? 謝謝~! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.97.192

06/02 00:47, , 1F
BCB6的話, Project->Option->Linker->PE File Option
06/02 00:47, 1F

06/02 00:47, , 2F
把Max stack size與Max heap size調大試試, 只是印象中
06/02 00:47, 2F

06/02 00:48, , 3F
好像我調到 0x01000000 以上也就不給我設更大了@_@"
06/02 00:48, 3F

06/02 01:04, , 4F
話說, 寫怎樣的影像處理code, 用了多少memory用完的呀??
06/02 01:04, 4F

06/02 01:20, , 5F
好奇是怎樣的影像處理+1~
06/02 01:20, 5F

06/02 04:05, , 6F
好奇 +1
06/02 04:05, 6F

06/02 12:15, , 7F
用背景圖片與前景圖片render出3D影像的 也不知用了多少@@
06/02 12:15, 7F
它出現的訊息是這樣的: Project TRP_Ver5.1.exe raised exeption class EAccess Violation with message 'Access violation at address 004446A6. Read of address 0000000A'. Process stopped. Use Step or Run to continue. 之前的版本是沒問題,不過如果我要再新增一dynamic array就會有上述錯誤訊息出現 比方說 char *a; a = new char[720*480]; 這樣不行 如果變成是a = new char[720*480-6000]; 就可以了 (-10000也是OK) 而a = new char[720*480-5000]; 也不行 所以我猜想應該是記憶體大小不夠的關係 但剛剛依照VictorTom大的說法將size都調到MAX了 (原本的10倍) 結果error message還是會出現@@ 這種情況要怎麼解決呢? 謝謝~! ※ 編輯: Trumen 來自: 122.126.97.192 (06/02 12:27)

06/02 12:53, , 8F
你的BCB有更新嗎 ?
06/02 12:53, 8F

06/02 12:56, , 9F
720x480才300多KB怎麼可能記憶體不夠 囧
06/02 12:56, 9F

06/02 12:57, , 10F
其實是16倍XD BCB6小弟我以前用就一直不曉得怎樣能夠像
06/02 12:57, 10F

06/02 12:57, , 11F
VC一樣動態要個總計上G的ram來用....Orz
06/02 12:57, 11F

06/02 12:58, , 12F
他應該是本來的code已經用了不少記憶體, 之後要再要新的
06/02 12:58, 12F

06/02 12:58, , 13F
才撞到error; 只是, 才多要個3xxKB就要不到也有點誇張@@
06/02 12:58, 13F

06/02 13:00, , 14F
另外, 要不要試試直接利用TBitmap開個8bpp的pixelformat
06/02 13:00, 14F

06/02 13:01, , 15F
來試試?? 雖然存取記憶體會麻煩一點就是了Orz
06/02 13:01, 15F

06/06 19:19, , 16F
目前是用了別的怪方法過了 不過還是感到非常奇怪就是了..
06/06 19:19, 16F
文章代碼(AID): #1C1JZK0e (C_and_CPP)
文章代碼(AID): #1C1JZK0e (C_and_CPP)