更新:PFM 拥有 Mac 和 Linux 端口已有一段时间了。如果可移植性是主要考虑因素,那么 PFM 是不涉及在 3 个主要桌面平台上填充不同 API 的选项。
完全披露,我是 Pismo Technic Inc. 的主要 PFM 开发人员。
PFM 和 CBFS 提供了作为 FUSE 内置于 Linux 中的功能,并且作为 MacFUSE 可免费用于 Mac。
我相信你最好的选择是使用你自己的移植层将你的大部分代码与 Linux/Mac 上的 FUSE 细节和 Windows 上的 PFM 或 CBFS 细节隔离开来。通过低级 FUSE 编写了 Linux/Mac PFM 端口后,我相信 FUSE 和 PFM 之间的差异很容易管理。CBFS 更直接地公开了本机 Windows 文件系统模型,因此可能会涉及更大的功能差异。
本机 Windows 文件系统模型与类 Unix 操作系统上的文件系统模型非常不同。主要处理用户模式 Win32 或 unix 的开发人员很难想象这种差异。尽管 FUSE for windows 类型的技术是可能的,但最终它可能需要如此多的 Windows 特定更改,以至于最终与在 Windows 上使用 PFM 或 CBFS 大致相同。