Windows 11下为何无法用C++创建超过8GiB的堆内存?
Windows 11下CLion创建大型动态数组的内存分配测试结果
测试环境:Windows 11 64位系统,32GiB内存,使用CLion编译运行C++代码。
测试代码如下:
#include <iostream> #include <chrono> #include <thread> int main() { int len = 0; std::cin >> len; auto arg = std::make_unique<int32_t[]>(len); std::this_thread::sleep_for(std::chrono::seconds(100)); }
测试结果:
- 当数组元素类型为
int(4字节)时,最大可分配内存约8192MiB - 当数组元素类型为
int16_t(2字节)时,最大可分配内存约4096MiB - 当数组元素类型为
char(1字节)时,最大可分配内存约2048MiB
附相关截图:
- 代码截图
- VMMap内存分析截图
- 任务管理器截图
内容的提问来源于stack exchange,提问作者Bob_2023
相关产品推荐
相关产品推荐

