使用msvc amd64和QtCreator 3.0.1(Qt 5.2.1)分配20亿个整数的数组

时间:2014-03-10 20:06:09

标签: c++ qt visual-c++

我有一个全新的microsoft visual studio安装C ++ 2012和Qt Creator 5.2.1 for msvc2012_64bit。

要测试我的程序是否编译为64位,我打印指针的大小,它产生8个字节。 所以我假设它在64位编译。

但是当我尝试分配一个20亿的整数块时,我得到一个错误的alloc异常。 我是否需要添加一个选项以允许分配大于4GB的块?

注意:我在Windows 7 Home高级版上运行我的程序。可能有分配限制吗? 我已经看到有8GB的ram限制。

修改 在分配错误的14次分配之后,在500 000 000字节的序列块中分配停止。这总共高达7GiB分配。我的物理内存是8GB。最后没有限制。这证明确实存在碎片问题。增加我的电脑中的内存应该可以让我进一步提升极限。 顺便说一下,Windows 7 Home Premium的最大可用内存大小仅为16GB。它的专业版或企业版为192GB。

0 个答案:

没有答案