2008-09-29 12 views
26

¿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

+2

Creo que su decisión de evitar XML es buena. XML no es realmente legible por humanos, excepto en una emergencia. –

Respuesta

6

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.

+0

pero esta biblioteca no pudo guardar las opciones del programa. – Jichao

1

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.

8

Otra opción es Boost.PropertyTree (doc). Permite leer/escribir archivos XML, INI, JSON e Info. Y obtienes portabilidad gratis.

0

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/.

1

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.

Cuestiones relacionadas