malloc()失败尽管有足够的空闲内存

Mic*_*ick 1 c++ memory-management visual-studio-2015

我在具有16GB RAM的PC上运行Windows-7-64.我启动机器并启动Visual Studio 2015.我也启动资源监视器,它告诉我我的内存安排如下:

硬件预留:116MB使用中:2,917 MB修改:79MB待机:2,360MB免费:10,912MB

然后我执行这个程序,我正在调试模式下开发.该程序尝试malloc()1,292,000,000字节并失败.这是在程序开始运行时.它没有事先做任何malloc()/ free()操作.如果我在发布模式下运行相同的程序,那么它会成功.

知道如何解决这个问题吗?

JSF*_*JSF 5

尽管使用的是64位操作系统,但您显然正在进行32位构建.您可以像Estiny建议的那样使应用程序"大地址识别",这是两倍的空间.但是如果你想使用千兆字节的数据,最好切换到64位版本.