我想创建一个仅驻留在内存中的文件...在查看一些文档时,我看到了使用 shell 扩展作为虚拟文件的建议。我不确定这是一个可行的解决方案,但我想知道
- 这是一个好方法(或者我应该使用 ramdisk 代替)
- 哪里是开始阅读它的好地方
注意:这是在 Windows 平台上
我想创建一个仅驻留在内存中的文件...在查看一些文档时,我看到了使用 shell 扩展作为虚拟文件的建议。我不确定这是一个可行的解决方案,但我想知道
注意:这是在 Windows 平台上
你没有说你在哪个平台上,但我猜是 Windows。mmap() 可用吗?如果没有,我认为BerkeleyDB已经移植到 Windows,所以你应该可以使用它。Win32 API 可能有类似于 mmap() 的东西,但我不知道。
据我了解,您希望您的程序创建一个“文件”,该文件仅驻留在内存中,您可以将其传递给另一个外部程序(例如 Microsoft Word)。
AFAIK 这是不可能的,缺少冲压驱动器。我建议使用临时文件夹。但是,您必须想出一个策略,以便在不再需要文件时将其删除。
补充:不过,第二次,您可能想查看Reparse points。我自己对它们并不熟悉,它们只适用于 NTFS 格式的磁盘,但也许它们可以为您提供您想要的东西。不过,这将是很多编码。
如果您想要一个仅驻留在内存中的文件,请使用命名管道或其他东西,尽管我质疑您的方案 - 您可以提升一个级别并描述您想要做什么吗?