当我在 Visual Studio 2015 中运行我的应用程序时,我在诊断工具中看到进程内存卡在 2GB - 好像有一个限制:
我读到,为 x32
执行限制了可用内存,因此有必要使用 x64
。所以我构建了 relase, x64
,它给了我上面显示的结果。我怎样才能消除这个“限制”?
注意:我有 16GB 内存硬件(操作系统:Windows 10)。
最佳答案
没有这样的限制,这可能是您的代码(或您使用的某个库)恰好使用了 2gb 的内存。
如果您尝试在 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/