如何为我的程序使用尽可能多的RAM?

enn*_*enn 6 c ram winapi memory-management

我正在努力最大化我的程序速度(以便实时获得结果)并避免从硬盘驱动器中不必要地加载数据.

程序应该处理大量的图像,我想尽可能多地处理RAM中的处理数据.但我发现,malloc即使我有8GB的RAM(Windows 7 64位),也不会分配超过2GB的内存.

如何让我的程序尽可能多地使用RAM?

Ser*_* L. 7

我相信Windows平台上类似的mmap(2)VirtualAlloc

这应该允许您使用更多的内存.请记住,操作系统仍可能决定将您的记忆分页.您可以将其锁定在RAM中VirtualLock.然而,可锁定存储器的数量可能是有限的.

另外,如评论中所述,请确保将程序编译为64位.