当我在 Visual Studio 2015 中运行我的应用程序时,我在诊断工具中看到进程内存固定为 2GB - 好像有一个限制:
我读到,x32
的执行限制了可用内存,因此有必要使用 x64
。所以我构建了 relase, x64
,它给出了上面显示的结果。我怎样才能取消这个“限制”?
注意:我有 16GB Ram 硬件(操作系统:Windows 10)。
最佳答案
没有这样的限制,这可能是您的代码(或您使用的某些库)恰好使用了 2gb 的 ram。
如果您尝试在 x86 应用程序中分配超过 2GB 的内存 - 您将得到 std::bad_alloc 异常,因为操作系统无法提供更多内存,尽管您还有 14GB 的空闲内存。
在 MSVC2015 中编译为 x64 的非常简单的程序,如下所示:
for (int i = 0; i < 4000000; ++i) {
char* ch = new char[1024];
}
占用 4gb 内存,默认配置没有限制。
关于c++ - Visual Studio 2015 : increase process memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186485/