【发布时间】:2015-09-06 12:00:47
【问题描述】:
我在具有 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() 操作。如果我在发布模式下运行相同的程序,那么它会成功。
知道如何解决这个问题吗?
【问题讨论】:
-
如果你把程序缩减为
malloc(1292000000),你会得到同样的结果吗? -
也许this 可以解决您的问题?
-
简单,不要分配 ~1.2 GB 的内存。
-
进一步了解@DavidHaim 的评论,您为什么要尝试将 1.2GB 分配给单个地址?
标签: c++ memory-management visual-studio-2015