1、我是vs2017,在選裝vs的時候,需要安裝c++模塊,因為申請大內存的必要exe存放在vc的某個目錄(下面會給出詳細的地址)下的
2、安裝完成在vs的安裝目錄可找到這個文件,我是社區版本的,如果是其他版本也差不多,給大家參照
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\editbin.exe
3、在vs,啟動程序的屬性->生成事件->后期生成事件命令行 輸入以下內容,直接復制即可
cd /d $(DevEnvDir)
cd..
cd..
cd VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
editbin /largeaddressaware $(TargetPath)
如圖:
4、然后F5,運行即可,我寫的dome可明顯看到變化;或者繼續看下去,還有其他方法查看是否支持了大內存申請
5、管理員運行cmd,cd 到 editbin.exe 的目錄下,輸入以下命令,查看exe的屬性
dumpbin /headers c:/****/*.exe
(注意空格,注意需要是全路徑)
6、回車后會出現以下提示說明成功了
如果是下面這個圖,說明就未申請大內存
【最后附上c++同事的提醒,后期如果遇到我會補充】
據說申請了大內存后,關於c++的sdk的內存地址會存在負數的情況,雖然與我們c#無關,但畢竟隸屬一個項目的,所以還是小心為好!!
下面是dome:
1、直接運行
引發內存溢出異常
2、在屬性欄目加上申請大內存
3、再F5運行
完美!