VS 各版本的 后期生成事件命令行 扩大32位操作系统的内存 内存溢出
总觉得是时候要写点东西保存下来,方便自己做记录,还有帮助急需找到问题答案的人。毕竟一直都从别人的文章中输入,是输出的时候了。废话少说。
最近遇到VS2010 编程时,在32位操作系统中运行,出现OutOfMemory 内存溢出的错误,
原因是: 32位操作系统对内存的使用有限制,我的程序调用了第三方库开辟了相当大的内存,这是没法绕过的问题。
解决方案是,需要提升exe的使用内存限制:
一,每次生成exe后,手动设置
vs安装目录下的Visual Studio Tools 文件夹中的“Visual Studio x64 兼容工具命令提示”,输入:
editbin /LARGEADDRESSAWARE D:\EXEtest.exe
其中“D:\EXEtest.exe”是需要扩大内存的可执行程序,也是我们用VS最终生成的exe。
完成上面的命令后,可输入如下命令检查是否设置成功
dumpbin /headers D:\EXEtest.exe
成功的话会提示如下图,其中画横线的 >2GB 说明设置成功:

二,自动完成上述操作
打开vs -> 右键 “工程名” -> 点击 “属性”-> 点击 “生成事件”-> 在 “后期生成事件命令行(O):”中复制如下命令:
call “%VS100COMNTOOLS%…\tools\vsvars32.bat”
editbin /LARGEADDRESSAWARE $(TargetPath)
即可完成,生成exe后再

本文介绍了如何通过VS的后期生成事件命令行来扩大32位操作系统的内存限制,以解决由于内存溢出导致的错误。通过手动或自动设置editbin命令,可以使得生成的exe程序支持更大的内存分配,适用于VS2010及后续版本。
5654

被折叠的 条评论
为什么被折叠?



