看板 C_and_CPP 關於我們 聯絡資訊
小弟寫了一個C++程式 起初用三維陣列做都OK 但是今天因為功能上 不得以ㄧ定非要用到四維陣列 我把程式修改成四維的版本下去 但是卻顯示: total image size -314621952 exceeds max (268435456); image may not run 我的宣告長這樣: struct Prev_info{ int prev_node; int cur_dist; int prev2cur_line; int prev_count; float prev_time; int prev_prev_node; }; Prev_info A[300][10][300][100]; 請問是所佔記體太大而無法執行嗎? 如果真的一定非要用到四維陣列下去做 有什麼改善方法讓程式執行嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.113.78
zlw:就算Prev_info用一個4 byte算都要343MB了... 02/25 15:27
joefaq:你乘乘看就知道 A吃到GB以上了 stack好像只給20MB 02/25 15:27
ledia:只有 216MB 吧 ._. 另外 stack 空間預設是 1MB 02/25 15:42
ledia:如果要用這麼多(跟維度無關) 請自己動態配置 02/25 15:43
layarice:大概兩G多 02/25 15:45
jerrykk:恩 謝謝建議 我改動態配置看看 02/25 15:48
ledia:少看一個 0 .... Orz 02/25 19:16