Bibliotecas de archivos de configuración de Linux [cerrado]


¿Existen buenas bibliotecas de lectura de archivos de configuración para C\C++ que puedan usarse para aplicaciones escritas en la plataforma linux? Me gustaría tener un archivo de configuración simple para mi aplicación. En el mejor de los casos, me gustaría evitar los archivos XML que podrían confundir a los usuarios.

Author: jcodeninja, 2008-09-29

7 answers

 11
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-29 08:21:25

Yo recomendaría 'libconfig'.

 24
Author: ayaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-29 08:26:59

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

 8
Author: jk.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-29 16:59:54

Boost program_options Esto le permite leer las opciones del programa desde archivos de configuración, variables de entorno y la línea de comandos. Es portátil y muy fácil de usar.

 6
Author: 1800 INFORMATION,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-21 23:15:26

Si solo desea un archivo de configuración simple, con una lista de comandos y/o configuraciones 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, entonces el analizador rápidamente se vuelve más complicado 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.

Usted necesita decidir si usted desea que su programa sea capaz de escribir archivos de configuración. Si es un programa GUI, probablemente lo hagas. Esto afectará a qué bibliotecas son adecuadas.

 1
Author: Mark Baker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-29 08:45:13

Para una sola aplicación, podría considerar libconfuse.

Si necesita ser capaz de manejar una amplia 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
Author: Craig McQueen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-09 05:29:31

La pregunta es ¿qué formato de archivo tienes en mente? El atributo "simple" es un poco de una subespecificación. Si usted está buscando una biblioteca que puede utilizar " windows .ini formated" archivos de configuración es posible que desee comprobar hacia fuera ACE http://www.cs.wustl.edu / ~ schmidt / ACE / .

 0
Author: lothar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-08 23:07:53