gpt4 book ai didi

filesystems - 为 linux、mac、windows 开发 "File Systems"

转载 作者:行者123 更新时间:2023-12-04 01:04:41 25 4
gpt4 key购买 nike

dropbox (http://www.dropbox.com/) 和 expandrive (http://www.expandrive.com/mac) 等应用程序使用哪些技术将功能直接构建到每个平台的本地文件系统中?任何人都可以提出任何可以在所有主要平台上实现最大代码重用的建议吗?

到目前为止,我只研究了 Linux 上的 FUSE,我喜欢我所看到的。

最佳答案

实现虚拟文件系统是非常特定于操作系统的。原因是类 Unix 操作系统和 Windows 中驱动程序的体系结构不同。

为了避免编写自己的驱动程序,您可以使用用户模式文件系统工具包。在 Linux、BSD 和 MacOS 上,分别存在 FUSE 和 OSXFUSE(现在不事件的 MacFUSE 的分支)。在 Windows 上,我们的 Callback File System用来。

Dropbox 目前没有虚拟文件系统,只有 shell 扩展(afaik 他们计划创建一个虚拟磁盘,但我不知道他们决定了什么)。

关于如何跟踪文件更改:有几种方法。最简单的方法是在计时器上扫描目录并比较时间戳和文件大小。接下来,可以使用FindFirstChangeNotification WinAPI 函数。最复杂和最可靠的方法是使用文件系统过滤器驱动程序。在 Windows 上,我们的 CallbackFilter可以使用。在 MacOS X 和 Linux 上,您可以获得类似于 FileSystemWatcher 在 .NET/Windows 中提供的后通知。特别是在 Linux 上,可以使用 inotify .

关于filesystems - 为 linux、mac、windows 开发 "File Systems",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837829/

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