UPDATE: PFM ha avuto porte Mac e Linux da qualche tempo. Se la portabilità è un problema primario, PFM è l'opzione che non prevede lo shimming di API diverse sulle 3 piattaforme desktop principali.
divulgazione completa, Io sono l'autore PFM primario a Pismo Technic Inc ..
PFM e CBFS forniscono funzionalità che è costruito in Linux come FUSE, ed è liberamente disponibile per Mac come MacFUSE.
Credo che la soluzione migliore è utilizzare il proprio livello di porting per isolare la maggior parte del codice da specifiche FUSE su Linux/Mac e specifiche PFM o CBFS su Windows. Avendo scritto una porta PFM Linux/Mac tramite FUSE di basso livello, sono fiducioso che le differenze tra FUSE e PFM sono abbastanza facili da gestire. CBFS espone più letteralmente il modello di file system nativo di Windows, quindi probabilmente implicherà una differenza funzionale più ampia.
Il modello di file system Windows nativo è molto diverso dal modello di file system su sistemi operativi unix-like. Questa differenza è difficile da immaginare per gli sviluppatori che si sono occupati principalmente della modalità utente Win32 o di unix. Sebbene sia possibile utilizzare un FUSE per il tipo di tecnologia Windows, alla fine probabilmente richiederebbero così tante modifiche specifiche di Windows che finirebbe per essere lo stesso di usare PFM o CBFS su Windows.
Solo una nota: Callback File System ha il livello di compatibilità FUSE che consente di riutilizzare grandi parti del codice C/C++ scritto per FUSE e OSXFUSE. –