gpt4 book ai didi

c++ - 文件映射打开 (Windows)

转载 作者:行者123 更新时间:2023-11-28 07:31:02 26 4
gpt4 key购买 nike

如何在 Windows 上正确打开/使用文件映射,并且能够在没有文件映射的情况下从另一个进程写入它;

例如进程A写入大日志文件,它打开文件,将新数据写入末尾,或者用新数据重写它。

进程 B 并行打开此文件作为文件映射,并在不关闭文件映射的情况下不时读取内存页面进行更新。

请不要问我为什么要执行上面解释的逻辑。我需要知道它可以完成吗?

最佳答案

没有什么能阻止您将文件映射对象关联到您正在使用普通文件系统函数(ReadFileWriteFile 等)更新的文件。但你不会喜欢结果。如果其他进程通过文件映射函数更新文件,Windows 保证文件映射 View 是连贯的。当文件以其他方式更新时,它不提供此类保证。事实上,它几乎可以保证文件映射 View 显示的内容与文件的实际内容不匹配。

所以,是的,你可以做到这一点。但你不应该这样做,因为你无法保证映射 View 看到的就是文件中的实际内容。

关于c++ - 文件映射打开 (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17702800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com