您的位置:首页 > 其它

关于VS编译的程序内存分配只能用1.5~2G上限的优化方案

2016-03-10 16:50 666 查看


关于VS编译的程序 内存分配只能用1.5~2G上限的优化方案

遇到的问题是这样的:
电脑内存32G,VS2012编译的一个程序,在程序运行过程中,一旦程序的内存使用达到1.5G,就会抛出内存溢出(outofmomery)异常,然后程序就卡主了!已确定程序逻辑没有bug。就是因为要处理的数据量太大,单纯的消耗内存。可是也就才1.5G吖,还远远不到系统的32G。
然后去知乎求大神解答,终于找到解决方案,在这里备忘一下:
程序只能用1.5~2G内存,这是32位(x86)模式下程序所能请求内存的上限,如果想要使用更多的内存,更改一下项目CPU启动的模式就好了,改成x64就OK。不过要注意程序内是否使用了只能在32位下运行的模块。比如虽然程序是x64的,但是里面用到了一个x32的模块(dll),如果在x64的模式下运行就还会抛出内存溢出异常的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: