這行代碼產生以下錯誤內存錯誤在Visual Studio中,但大量的可用內存
rs[se_idx][ev_idx][re_idx].trs = new re_class[report_size];
的std :: bad_alloc的內存位置0x0037c29c
我認爲這是有關到'沒有足夠的記憶'。當我減少分配的數量時,它運行良好。
我在機器上有足夠的內存(16 GB),而資源監視器只顯示視覺工作室正在使用的一小部分內存。我添加了編譯器選項/F 4000000000
和/LARGEADDRESSAWARE
,但仍然出現錯誤。
這怎麼解決?
這只是無關緊要多少RAM在您的系統中可用。看到相關的問題:http://stackoverflow.com/questions/3296840/memory-question http://stackoverflow.com/questions/4385915/realloc-heaprealloc-fails-eventhough-enough-memory-is-available – Naveen
微軟的網站上說:/ LARGEADDRESSAWARE選項告訴鏈接器該應用程序可以處理大於2千兆字節的地址。 – user1389840