我编写了一个占用大量内存的64位程序。当它消耗几个GB的内存时,它将在新的运算符上引起错误。但是实际上,这台计算机上仍有数GB的可用内存可供使用。其他程序可以正常运行,并且内存要比此程序多得多。而且我启用了编译选项/ Zm2000和链接选项/ LARGEADDRESSAWARE。
那是什么原因呢?
请您参考如下方法:
即使您还有几个GB的可用空间,也必须记住,内存可能会碎片化。如果没有可用的连续块来满足您的请求,则分配将失败并发生异常。
我编写了一个占用大量内存的64位程序。当它消耗几个GB的内存时,它将在新的运算符上引起错误。但是实际上,这台计算机上仍有数GB的可用内存可供使用。其他程序可以正常运行,并且内存要比此程序多得多。而且我启用了编译选项/ Zm2000和链接选项/ LARGEADDRESSAWARE。
那是什么原因呢?
请您参考如下方法:
即使您还有几个GB的可用空间,也必须记住,内存可能会碎片化。如果没有可用的连续块来满足您的请求,则分配将失败并发生异常。