一、我是vs2017,在选装vs的时候,须要安装c++模块,由于申请大内存的必要exe存放在vc的某个目录(下面会给出详细的地址)下的c++
二、安装完成在vs的安装目录可找到这个文件,我是社区版本的,若是是其余版本也差很少,给你们参照c#
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\editbin.exedom
三、在vs,启动程序的属性->生成事件->后期生成事件命令行 输入如下内容,直接复制便可spa
cd /d $(DevEnvDir)
cd..
cd..
cd VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
editbin /largeaddressaware $(TargetPath)命令行
如图:3d
四、而后F5,运行便可,我写的dome可明显看到变化;或者继续看下去,还有其余方法查看是否支持了大内存申请blog
五、管理员运行cmd,cd 到 editbin.exe 的目录下,输入如下命令,查看exe的属性事件
dumpbin /headers c:/****/*.exe内存
(注意空格,注意须要是全路径)get
六、回车后会出现如下提示说明成功了
若是是下面这个图,说明就未申请大内存
【最后附上c++同事的提醒,后期若是遇到我会补充】
听说申请了大内存后,关于c++的sdk的内存地址会存在负数的状况,虽然与咱们c#无关,但毕竟隶属一个项目的,因此仍是当心为好!!
下面是dome:
一、直接运行
引起内存溢出异常
二、在属性栏目加上申请大内存
三、再F5运行
完美!