網(wǎng)站建設(shè)合同標(biāo)的怎么寫西安樓市最新房價(jià)
正常情況一個(gè)進(jìn)程最大占用內(nèi)存為1G一下,如果程序有需求要使用超過1G大小的程序,可進(jìn)行如下操作
VS修改設(shè)置:屬性--->鏈接器--->系統(tǒng)--->啟用大地址 【選擇是】
測試申請堆內(nèi)存代碼
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
#include <malloc.h>
#include <exception>
#include <thread>int count = 0;
HANDLE g_event;
void TestThread()
{while (1){try{new int[1024 * 1024];count++;}catch (const std::bad_alloc){printf("申請內(nèi)存失敗\n");break;}}SetEvent(g_event);
}
int main()
{g_event = CreateEvent(0, false, false, 0);CreateThread(0, 0, (LPTHREAD_START_ROUTINE)TestThread, 0, 0, 0);WaitForSingleObject(g_event, INFINITE);printf("%dM\n",count*4);system("pause");return 0;
}
因?yàn)榫幾g出來的是x86版本,所以運(yùn)行后可看到使用了4G的內(nèi)存
如果是x64,那么最大可使用8GB
使用vs開發(fā)人員工具 dumpbin /headers xxx.exe可以查看程序是否開啟了大地址選項(xiàng)
Qt開啟大地址選項(xiàng)
在.pro文件中添加? QMAKE_LFLAGS_WINDOWS += /LARGEADDRESSAWARE
注意
QMingw是不可以使用該選項(xiàng)的會(huì)出現(xiàn)如下錯(cuò)誤(Qt Widget Application工程會(huì)出現(xiàn),Qt Console Application不會(huì)出現(xiàn),并且Qt控制臺(tái)程序沒有開啟成功,如果使用VS創(chuàng)建Qt控制臺(tái)工程是可以開啟選項(xiàng)成功)
?error: /LARGEADDRESSAWARE: No such file or directory