C++ 当尝试使用所有可用RAM时,在程序终止之前仅使用2 GB

C++ 当尝试使用所有可用RAM时,在程序终止之前仅使用2 GB,c++,visual-c++,memory-management,memory-leaks,ram,C++,Visual C++,Memory Management,Memory Leaks,Ram,当我执行下面的代码时,TaskManager中的RAM使用率会快速增加。但是,在大约低于2GB的情况下,速度会严重减慢,然后我收到错误“此应用程序已请求运行时以一种不寻常的方式终止它。” 在2GB标记上发生了什么?Windows正在限制它吗 我最初假设它是反病毒,所以我禁用了,但这没做任何事情。 < P>最后一个注释,程序可能由于未处理的C++异常而失败。Windows并不完全了解失败的原因,所以它只是报告一个异常退出 您是将其编译为32位还是其他版本?内存管理器可能无法处理这么多微小的分配,而

当我执行下面的代码时,TaskManager中的RAM使用率会快速增加。但是,在大约低于2GB的情况下,速度会严重减慢,然后我收到错误“此应用程序已请求运行时以一种不寻常的方式终止它。”

在2GB标记上发生了什么?Windows正在限制它吗


我最初假设它是反病毒,所以我禁用了,但这没做任何事情。

< P>最后一个注释,程序可能由于未处理的C++异常而失败。Windows并不完全了解失败的原因,所以它只是报告一个异常退出

您是将其编译为32位还是其他版本?内存管理器可能无法处理这么多微小的分配,而且由于碎片化,在存储中查找可用空间变得越来越困难。哪个版本的windows?完整程序?因为我看不出如何处理std::bad_alloc?@user4581301即使是最简单的分配器也很难通过分配相同大小的对象来创建碎片内存,特别是因为根本没有反分配;-)。
while(true){
   int *pointer66 = new int;
}