ACTUALIZACIÓN: PFM tiene puertos Mac y Linux desde hace algún tiempo. Si la portabilidad es una preocupación primordial, entonces PFM es la opción que no implica ajustes a diferentes API en las 3 plataformas de escritorio principales.
divulgación completa, yo soy el principal desarrollador de la GFP en Pismo Technic Inc ..
PFM y CBFS proporcionan una funcionalidad que se construye en Linux como FUSE, y está disponible gratuitamente para Mac como MacFUSE.
creo que la mejor opción es utilizar su propia capa de portabilidad para aislar la mayor parte de su código de aspectos específicos de fusibles en Linux/Mac, y PFM o específicos CBFS en Windows. Después de haber escrito un puerto PFM para Linux/Mac a través de FUSE de bajo nivel, estoy seguro de que las diferencias entre FUSE y PFM son bastante fáciles de administrar. CBFS expone más literalmente el modelo de sistema de archivos nativo de Windows, y probablemente involucre una diferencia funcional más grande.
El modelo de sistema de archivos nativo de Windows es muy diferente al modelo de sistema de archivos en sistemas operativos tipo Unix. Esta diferencia es difícil de imaginar para los desarrolladores que se han ocupado principalmente del modo de usuario Win32 o de Unix. Aunque es posible utilizar un tipo de tecnología FUSE para Windows, al final probablemente requeriría tantos cambios específicos de Windows que terminaría siendo casi lo mismo que usar PFM o CBFS en Windows.
Solo una nota: el sistema de archivos de devolución de llamada tiene una capa de compatibilidad FUSE que le permite volver a utilizar partes grandes del código C/C++ escritas para FUSE y OSXFUSE. –