-1

有大文件。我需要快速排序。我将按部分处理适合 RAM 的文件,以避免/度使用页面文件(下一步:合并部分)。如何使用最大内存?

我的解决方案:使用 WinApi 文件内存映射,但我不知道如何获取文件最大大小的一部分,但适合 RAM(如何确定大小)?

4

1 回答 1

0

您可以对要处理的页面进行虚拟锁定。它将物理内存锁定为您需要的大小(如果有足够的大小),将其他内存交换到页面文件。

您可以使用GlobalMemoryStatusEx函数来确定您的应用程序可以分配多少内存,而不会严重影响其他应用程序。

因此,您可以映射文件并锁定要处理的页面。

于 2020-07-15T01:48:05.170 回答