C++/Win32 在虚拟内存中创建文件

use*_*390 5 c++ winapi

如何在虚拟内存中创建文件以及可以在其上使用普通文件函数(如 CreateFile、WriteFile 等)吗?

我正在尝试实现一个缓冲文件编写器类,但问题是管理需要动态常量重新分配的缓冲区。

per*_*ain 1

据我认为,您想要将整个文件放在虚拟内存中吗?但这对我来说有点困难,因此我有另一种解决方法。您可以使用VirtualAllocExNuma将文件加载到内存中并对其进行处理。因为虚拟内存是应该保留的内存部分由操作系统决定,但在物理上它分散在除 RAM 之外的不同非统一存储设备中。
它不是一个可以保存文件的文件系统,而且它的管理方式也很难被追踪(至少对我来说!)。

虚拟AllocExNuma

保留或提交指定进程的虚拟地址空间内的内存区域,并指定物理内存的 NUMA 节点。