我試圖建立在C++動態數組是這樣的:如何解決「內存不足」在C++動態數組
int **matrix = 0;
matrix = new int * [dim];
for (int i = 0; i < dim; i++)
matrix[i] = new int[dim];
當從90000「暗淡」超S,程序崩潰並給我內存不足(超過2 GB的內存)
任何想法如何解決它?請提供其他解決方案嗎
我試圖建立在C++動態數組是這樣的:如何解決「內存不足」在C++動態數組
int **matrix = 0;
matrix = new int * [dim];
for (int i = 0; i < dim; i++)
matrix[i] = new int[dim];
當從90000「暗淡」超S,程序崩潰並給我內存不足(超過2 GB的內存)
任何想法如何解決它?請提供其他解決方案嗎
要分配超過2 GB的內存,您需要編譯程序並在64位操作系統上運行。
沒有任何其他選擇? – Bipario 2012-04-02 03:11:08
某些32位操作系統可以擠壓少量額外的應用程序內存,可能高達3 GB。但是,這取決於操作系統,通常必須選擇爲OS引導選項。 – 2012-04-02 03:13:20
@Bipario,或將它們寫入磁盤,並在需要時將它們分頁存儲在內存中,或者在裝配時播放並執行PAE。 – 2012-04-02 03:13:44
您可以嘗試使用/ 3GB開關,這會在32位窗口的使用者(即:非服務器)版本上額外提供1GB。
您應該接受一些以前的問題。 – iehrlich 2012-04-02 03:09:10
如果矩陣不密集,有些方法表示它不使用大量內存。你確定你需要所有的記憶嗎? – 2012-04-02 03:22:53