¿Hay alguna buena biblioteca de lectura de archivos de configuración para C \ C++ que se pueda usar para aplicaciones escritas en la plataforma de Linux? Me gustaría tener un archivo de configuración simple para mi aplicación. En el mejor de los casos, me gustaría alejarme de los archivos XML que podrían confundir a los usuarios.Bibliotecas de archivos de configuración de Linux
Respuesta
Usted podría intentar glib's key-value-file-parser
Boost program_options Esto le permite leer las opciones del programa a partir de los archivos de configuración, variables de entorno y la línea de comandos. Es portátil y muy fácil de usar.
pero esta biblioteca no pudo guardar las opciones del programa. – Jichao
Recomendaría 'libconfig'.
Si solo quiere un archivo de configuración simple, con una lista de comandos y/o configuración de variables, entonces es muy fácil escribir su propio analizador, tan fácil que probablemente no valga la pena usar una biblioteca. Si necesita algo más complicado, el analizador se vuelve más complicado rápidamente y vale la pena usar una biblioteca existente.
Nunca he intentado usar libconfig, pero parece una buena opción, y me gusta el formato de los archivos de configuración que utiliza.
Debe decidir si desea que su programa pueda escribir archivos de configuración. Si se trata de un programa GUI, probablemente sí. Esto afectará qué bibliotecas son adecuadas.
Otra opción es Boost.PropertyTree (doc). Permite leer/escribir archivos XML, INI, JSON e Info. Y obtienes portabilidad gratis.
La pregunta es ¿qué formato de archivo tenía en mente? El atributo "simple" es un poco inespecífico. Si está buscando una biblioteca que pueda usar archivos de configuración "formateados para Windows .i", puede consultar ACE http://www.cs.wustl.edu/~schmidt/ACE/.
Para una sola aplicación, puede considerar libconfuse.
Si necesita manejar una gran variedad de formatos de archivo de configuración (por ejemplo, para un portal web para un sistema que necesita leer y escribir archivos de configuración de muchas aplicaciones en muchos formatos), existe Augeas.
- 1. Carga dinámica de bibliotecas compartidas de Linux?
- 2. Configuración de Mysql ++ en Linux
- 3. ubicaciones de bibliotecas compartidas para archivos mex de matlab:
- 4. Cómo configurar encabezados y bibliotecas para el desarrollo de Linux
- 5. Configuración de un proyecto EDE de emacs con bibliotecas
- 6. Archivos de configuración de FitNesse
- 7. Ruby y Linux, ¿configuración preferida?
- 8. Bibliotecas dinámicas de plataforma cruzada C++; Linux y Windows
- 9. cerraduras de archivos para Linux
- 10. configuración de configuración de git para archivos de gran tamaño
- 11. archivos de configuración en Silverlight
- 12. ¿Monodevelop admite archivos de configuración?
- 13. Crear bibliotecas de programas en Windows y LINUX [C++]
- 14. ¿Qué bibliotecas de voz están disponibles en Linux?
- 15. Múltiples instancias de singleton en bibliotecas compartidas en Linux
- 16. Medir el tamaño de las bibliotecas en Linux
- 17. Linux/UNIX instalar archivos de datos
- 18. Datos de configuración del programa en Unix/Linux
- 19. Mezcla de bibliotecas estáticas y bibliotecas compartidas
- 20. Configuración de Netbeans/Eclipse para Linux Kernel Development
- 21. Configuración de nombres de archivos para PHPUnit
- 22. .Net Confusión de archivos de configuración
- 23. editor de archivos de configuración en Eclipse
- 24. Configuración de permisos para WordPress en Amazon EC2 (Amazon Linux)
- 25. ¿Cuál es la convención de nomenclatura adecuada para archivos DLL de MSVC, bibliotecas estáticas y bibliotecas de importación?
- 26. ¿Buenas bibliotecas de sonido?
- 27. Incluyendo bibliotecas de impulso en los archivos de make
- 28. Bibliotecas genéricas del sistema de archivos de Ruby
- 29. Vinculación de bibliotecas de impulso
- 30. Motor de consulta SQL para archivos de texto en Linux?
Creo que su decisión de evitar XML es buena. XML no es realmente legible por humanos, excepto en una emergencia. –