que - sistema de archivos virtual linux
Biblioteca de sistema de archivos integrado de código abierto(o sistema de archivos virtual de un solo archivo o almacenamiento estructurado) para C (5)
No estoy seguro de cuál podría ser el nombre "general" de algo como esto. Estoy buscando una biblioteca que me dé un formato de archivo para almacenar diferentes tipos de datos binarios en un solo archivo en expansión.
- Código abierto, no GPL (LGPL ok)
- Interfaz C
- El formato de archivo es un solo archivo.
- múltiples archivos dentro del uso de una API de archivo similar a POSIX (o varios "blobs" dentro del uso de alguna otra API)
- La edición del archivo / estructura se realiza en el lugar
- primero confiable, segundo ejecutante
Ejemplos incluyen:
Problemas con lo anterior:
- whefs no parece ser muy maduro, pero describe mejor lo que busco
- HDF, CDF, NetCDF son utilizables (también son muy confiables y rápidos), pero son bastante complicados y no estoy del todo convencido de su soporte para las "burbujas" binarias opacas
Editar:
Olvidé mencionar, otra pregunta relevante:
Sistema de archivos virtual simple en C / C ++
Otra pregunta similar:
¿Existe una alternativa de código abierto para los archivos compuestos de Windows?
Editar:
Condición añadida de la edición en el lugar.
Editar:
whefs reemplazados por: whio_epfs
¿Eet biblioteca del proyecto ilustrado tal vez?
http://en.wikipedia.org/wiki/Enlightenment_Foundation_Libraries#EET http://docs.enlightenment.org/api/eet/html/
¿Qué hay de BerkeleyDB ? No es exactamente un sistema de archivos, pero es bastante transparente para almacenar ''datos binarios'' en un archivo. La licencia parece ser bastante permisiva también.
Esto parece hacer lo que estaba buscando: libgsf
Aún es necesario probar su confiabilidad / rendimiento y cómo el formato binario es multiplataforma.
La biblioteca WxWindows admite archivos ZIP (consulte http://docs.wxwidgets.org/stable/wx_wxarc.html#wxarc) . Esto también tiene la ventaja de que puede mirar los contenidos utilizando un administrador ZIP (por ejemplo, WINZIP).
Una alternativa comercial es ChillKat ( http://www.chilkatsoft.com/ )
Si la seguridad es una preocupación, cifre el contenido del archivo y modifique los nombres de los archivos en el archivo ZIP.
Parece que estás hablando del dispositivo de bucle de retorno de Linux, que te permite tratar un archivo en un sistema de archivos como un dispositivo de bloque de primera clase (y luego pasar a mkfs, mount, etc.)
(¿A qué tipo de plataforma te diriges? ¿A Unixlike con todas las funciones? ¿Algo en el espacio incrustado con una pequeña huella?)