0

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

当然,我可以尝试按降序多次分配内存,看看是否分配。但是有没有更好的方法来做到这一点?

4

1 回答 1

1

为了获得可以分配的最大内存量,我实际上会按升序分配内存,每次使用 realloc 将分配的内存加倍,直到它失败。但是,不能保证分配的内存实际上是在物理 RAM 中,这可能取决于您计划使用此内存的目的。请参阅这篇文章,了解何时以及为什么内存分配可能会失败。

于 2012-08-09T14:26:32.237 回答