当我在 Visual Studio 2015 中运行我的应用程序时,我在诊断工具中看到进程内存卡在 2GB - 好像有一个限制:

c++ - Visual Studio 2015 : increase process memory-LMLPHP

我读到,为 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/

10-13 00:06