我想知道那些内存映射文件有哪些文件扩展名。他们是.dll或类似的东西。另一件事是我可以使用这样的文件,如果我不知道它的内容。
答案 0 :(得分:5)
内存映射文件有哪些文件扩展名?
内存映射文件可以包含任何文件扩展名。您可以为任何文件创建文件映射。
如果我不知道它的内容,我可以使用这样的文件吗?
是的,您可以在不知道其内容的情况下为任何文件创建文件映射。
这些答案非常简单,我怀疑你并不完全了解内存映射文件是什么以及它们有用的原因。我怀疑你应该问的问题是:什么是内存映射文件?
答案 1 :(得分:3)
来自MSDN
内存映射文件包含虚拟文件的内容 记忆。文件和内存空间之间的这种映射使得能够实现 应用程序,包括多个进程,来修改文件 直接读写内存。从.NET开始 在框架4中,您可以使用托管代码访问内存映射文件 与本机Windows函数访问内存映射文件的方式相同, 如在MSDN中管理Win32中的内存映射文件中所述 图书馆。
有两种类型的内存映射文件:
持久内存映射文件持久文件是内存映射文件 与磁盘上的源文件关联。当最后一个进程有 完成文件处理后,数据将保存到源文件中 在磁盘上。这些内存映射文件适合使用 非常大的源文件。
非持久内存映射文件
非持久文件是未关联的内存映射文件 用磁盘上的文件。当最后一个进程完成后 文件,数据丢失,垃圾回收文件 采集。这些文件适合为其创建共享内存 进程间通信(IPC)。
答案 2 :(得分:1)
内存映射文件是操作系统提供的一种技术,允许您访问任何给定文件,就像它是一块内存一样。操作系统只需将映射到您的进程可用的操作内存的一部分。
没有更多,没有更少。因此,对文件的扩展和对其内容的了解的关注是无关紧要的。但是,人们会希望您知道您正在尝试使用的文件中的内容。
答案 3 :(得分:1)
“内存映射文件”的来源是OS / 2(Windows NT的前身),它被称为“全局共享内存段”,实际上它是一个更准确的术语。
这些用于跨应用程序共享DATA IN MEMORY。这些数据可以保存到所有挂钩的应用程序,也已退出(持久性)......有时需要,有时不需要。
对于那些谈论在文件中读入内存的人,是的,你可以这样做,但你为什么这样做?你是否需要重新阅读同一个文件?如果是这样,请获取所需内容并加载一些变量(例如配置文件)。
此功能实际上用于共享不断修改(由一个或多个应用程序)并由一个或多个应用程序读取的DATA。比使用数据库,读取/写入磁盘文件等更容易,更快捷。