首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win32是否支持FAT文件系统上的内存映射文件(CreateFileMapping)?

Win32是否支持FAT文件系统上的内存映射文件(CreateFileMapping)?
EN

Stack Overflow用户
提问于 2010-07-12 11:16:38
回答 2查看 1.1K关注 0票数 4

我担心通过CreateFileMapping在FAT文件系统上使用内存映射IO的危险。具体情况是用户直接从USB卡打开文档(是的,you尝试并禁止他们这样做!)

MSDN 管理内存映射文件项目没有提到任何关于文件系统约束的内容。

更新

我没有任何真正的理由去担心,但我有一种模糊的感觉,我在某个时候读到了他们的问题(我的职业生涯跨越了25年,所以我的记忆中有很多模糊的深度,一直到8位微!)对于我来说,是否应该支持他们的问题是非常重要的,所以我想问是否有人能证实我的担忧。谢谢你让我安心。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-12 11:37:32

是的,确实如此。它甚至支持在CDFS或网络驱动器上映射文件。你怀疑的根源是什么?

票数 6
EN

Stack Overflow用户

发布于 2010-07-12 20:04:21

内存映射文件是我最喜欢的特性之一。,绝对没有危险,。这是一个基本的优化Windows I/O功能。如果启动EXE或间接加载DLL,则在内部实现内存映射文件映射。

支持它,所有类型的文件系统都支持,包括FAT。

顺便说一句,atzz说网络驱动器上允许内存映射文件。我可以补充说,这不仅是允许的,但严格建议使用内存映射的文件,也是从网络文件。在这种情况下,I/O操作将以非常好的方式缓存,而其他(C/C++) I/O不是这样做的。

如果您希望EXE不会崩溃,如果您从CD或网络打开它,您可以用头中的一个位标记Program (链接器开关/SWAPRUN,见http://msdn.microsoft.com/en-us/library/chzz5ts6.aspx)。从USB棒打开文档是没有选择的。

但是用户到底有什么问题呢?他们不使用“安全移除硬件”图标吗?然后,他们必须学会这样做,就像他们必须学会不切换计算机电源,但正确关闭计算机。

你能解释为什么你发现使用内存映射文件的危险,在什么情况下你有问题,使用其他I/O操作没有这样的问题?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3227958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档