我想打开一个匿名文件,它是在 linux 下打开文件并取消链接或使用 memfd_create
的结果,但这些在 windows 下似乎都不可用(你可以删除一个文件,但它的名字似乎在文件关闭之前不会被删除)。获取一个文件描述符,该文件描述符不受文件系统中可见内容的支持。
有没有办法在windows下实现?最好我希望它永远不会出现在文件系统中。
我想要这个的原因是因为我需要一个 FILE*
作为参数发送给一个函数,这个函数需要它(我不希望它破坏文件系统)。更改库看起来不像是一个可行的选择(此外库也必须在其他操作系统上工作 - 所以它们无论如何不能依赖于 Windows 特定的抽象)。
最佳答案
Windows 中最接近 memfd_create
的是内存映射文件。关于它的 MSDN 文章:http://go.microsoft.com/fwlink/?linkid=180801
但基本上,CreateFileMapping
/OpenFileMapping
API 调用。
这不使用物理磁盘(除非它需要在磁盘上分页的内存),但据我所知,memfd_create
关于c - 是否可以在 Windows 中打开匿名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177370/