1

我想创建一个仅驻留在内存中的文件...在查看一些文档时,我看到了使用 shell 扩展作为虚拟文件的建议。我不确定这是一个可行的解决方案,但我想知道

  1. 这是一个好方法(或者我应该使用 ramdisk 代替)
  2. 哪里是开始阅读它的好地方

注意:这是在 Windows 平台上

4

3 回答 3

0

你没有说你在哪个平台上,但我猜是 Windows。mmap() 可用吗?如果没有,我认为BerkeleyDB已经移植到 Windows,所以你应该可以使用它。Win32 API 可能有类似于 mmap() 的东西,但我不知道。

于 2008-12-16T21:56:12.497 回答
0

据我了解,您希望您的程序创建一个“文件”,该文件仅驻留在内存中,您可以将其传递给另一个外部程序(例如 Microsoft Word)。

AFAIK 这是不可能的,缺少冲压驱动器。我建议使用临时文件夹。但是,您必须想出一个策略,以便在不再需要文件时将其删除。

补充:不过,第二次,您可能想查看Reparse points。我自己对它们并不熟悉,它们只适用于 NTFS 格式的磁盘,但也许它们可以为您提供您想要的东西。不过,这将是很多编码。

于 2008-12-16T22:55:51.440 回答
0

如果您想要一个仅驻留在内存中的文件,请使用命名管道或其他东西,尽管我质疑您的方案 - 您可以提升一个级别并描述您想要做什么吗?

于 2008-12-17T01:57:19.700 回答