如何在当前程序状态下找到最大可分配内存量

时间:2012-08-09 13:48:03

标签: c++ visual-c++ memory-management

我有一个用VC6编写的MFC应用程序。我想暂时为某些操作分配可能的最大内存。为了做到这一点,我需要找到我可以在程序的当前状态下分配多少内存。是否有任何有用的功能或代码可以做到这一点?

当然,我可以尝试按降序多次分配内存,看看它是否已分配。但有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

为了获得可以分配的最大内存量,我实际上会按升序分配内存,每次使用realloc将分配的内存加倍,直到失败。但是,不能保证分配的内存实际上在物理RAM中,这可能很重要,这取决于您使用此内存的计划。请参阅this article,了解内存分配可能失败的时间和原因。