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 运行
完美!
来源: https://www.cnblogs.com/xuling-297769461/p/10612895.html