当前位置:   article > 正文

c# 32位程序突破2G内存限制_visual studio怎么增大2g内存

visual studio怎么增大2g内存

起因

在开发过程中,由于某些COM组件只能在32位程序下运行,程序不得不在X86平台下生成。而X86的32位程序默认内存大小被限制在2G。由于程序中可能存在大数量处理,期间对象若没有及时释放或则回收,内存占用达到了1.2G左右,就会引发异常“内存溢出”。
环境:Visual Studio 2022

问题复现

在这里插入图片描述

解决方案

1、在VS中右键【启动项目】的【属性】,在【生成事件】中申请大内存
在这里插入图片描述
2、使用editbin.exe申请大内存(注意editbin这个exe需要vs安装c++相关组件)。安装好后一般在如下目录中:C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\bin\Hostx86\x86
在命令行中输入如下命令:

CALL "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
editbin /largeaddressaware "$(TargetPath)"
  • 1
  • 2

3、再次运行,可见已成功突破2G内存限制
在这里插入图片描述

查看exe是否支持大内存

在命令窗口使用dumpbin查看。
命令:dumpbin /headers xxx.exe
运行命令后可见,蓝色框内,程序已经突破2G内存限制。
在这里插入图片描述

未突破2G内存限制程序显示:
在这里插入图片描述

天地不过是飘摇的逆旅,昼夜不过是光阴的门户。 ——《花镜》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/294166
推荐阅读
相关标签
  

闽ICP备14008679号