我分配了少量数据类型,总大小为 2mb。
我只使用一个堆,它运行良好,直到我达到一定数量的分配,我对此非常确定,因为我已经评论了一个分配,使其在下一个分配时崩溃。
配额 = 磁盘空间?该文档没有涵盖此特定函数的错误代码,我已经分析了该应用程序,并且为该进程分配了足够的可用内存。我还在堆指针上放置了一个数据断点,它没有中断。当我单步执行直到调用 HeapAlloc 之前,堆指针都很好。
好奇怪..
最佳答案
尝试分配大块内存(即 >2MB),直到出现错误为止,以确定问题是对象数量还是总堆。另外,你确定你分配的内存没有超过2MB吗?我在达到 2GB 限制时见过该错误,但在达到 2MB 时从未见过该错误,除非您的页面文件已满。
如果所有其他方法都失败,请重新启动或尝试在不同的计算机上。
关于c++ - HeapAlloc 返回 0xC0000017 : Not Enough Quota,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2114694/