2012-05-11 26 views
0

這行代碼產生以下錯誤內存錯誤在Visual Studio中,但大量的可用內存

rs[se_idx][ev_idx][re_idx].trs = new re_class[report_size]; 

的std :: bad_alloc的內存位置0x0037c29c

我認爲這是有關到'沒有足夠的記憶'。當我減少分配的數量時,它運行良好。

我在機器上有足夠的內存(16 GB),而資源監視器只顯示視覺工作室正在使用的一小部分內存。我添加了編譯器選項/F 4000000000/LARGEADDRESSAWARE,但仍然出現錯誤。

這怎麼解決?

+1

這只是無關緊要多少RAM在您的系統中可用。看到相關的問題:http://stackoverflow.com/questions/3296840/memory-question http://stackoverflow.com/questions/4385915/realloc-heaprealloc-fails-eventhough-enough-memory-is-available – Naveen

+1

微軟的網站上說:/ LARGEADDRESSAWARE選項告訴鏈接器該應用程序可以處理大於2千兆字節的地址。 – user1389840

回答