我想打开一个匿名文件,这是在linux下打开文件取消链接或使用memfd_create
的结果,但这些似乎都不在Windows下可用(你可以使删除文件工作,但它的名称似乎不会被删除,直到文件关闭)。获取没有文件系统中可见内容支持的文件描述符。
有没有办法在Windows下实现这一目标?我希望它永远不会出现在文件系统中。
我想要这个的原因是因为我需要将FILE*
作为参数发送到期望的函数(并且我不希望它破坏文件系统)。更改库看起来不是一个可行的选项(除了库也必须在其他操作系统上工作 - 所以他们无论如何都不能依赖于特定于窗口的抽象)。
答案 0 :(得分:1)
Windows中最合理地接近memfd_create
的是内存映射文件。有关它的MSDN文章:http://go.microsoft.com/fwlink/?linkid=180801
但基本上,CreateFileMapping
/ OpenFileMapping
API调用。
这不使用物理磁盘(除非它需要在磁盘上分页的内存),但据我所知,memfd_create