两种方法在Visual Studio Win32控制平台程序中使用超过4G的内存(以Visual Sutdio 2017为例)

如果你的程序运行中由于申请大空间而抛出了bad alloc异常,那这篇文章提出的两个方法将对你有些帮助。
捕获异常的方法很简单: try { your code…} catch (exception e) {cerr << e.what() << endl;}

启用大地址

在解决方案资源管理器中右键点击项目->属性,选择连接器->系统->启用大地址。(不超过4G,由于还有系统,所以最多也就能申请3.x G)
image.png

64bit 系统可以选择X64平台突破内存限制

32bit系统的有4GB内存限制,因为地址是32位使得这个地址所能代表的内存空间也就 2^32 byte = 4 GB。

如果你的系统是64bit则没有4GB的限制,Visual Studio虽然只有32bit版的,但是它提供了64bit的平台编译,我们所要做的只是选择程序的编译平台是X64。

方法如下: 依旧调出属性页,右上角配置管理器,活动解决方案平台->新建,新窗口选择X64平台,之后顺着它操作就行了。

添加完的页面如下,关闭即可。
image.png


如约智惠
您身边的生活助手
如约智惠.jpg