Pergunta

Existem bons arquivos de configuração bibliotecas de leitura para C \ C ++ que pode ser usado para aplicações escritas na plataforma Linux. Eu gostaria de ter um arquivo de configuração simples para a minha candidatura. Na melhor das hipóteses, gostaria de orientar clara de arquivos XML que podem usuários potencialmente Confuse.

Foi útil?

Solução

Outras dicas

Eu recomendaria ' libconfig '.

Outra opção é Boost.PropertyTree ( doc ). Ele permite ler arquivos de gravação XML /, INI, JSON e informação. E você começa a portabilidade de graça.

program_options impulso Isso permite que você leia programa opções de arquivos de configuração, variáveis ??de ambiente e da linha de comando. É portátil e muito fácil de usar.

Se você quer apenas um arquivo de configuração simples, com uma lista de comandos e / ou ajustes variáveis, então é muito fácil escrever seu próprio analisador, tão fácil que não é provavelmente vale a pena usar uma biblioteca. Se você precisa de algo mais complicado, então o analisador rapidamente se torna mais complicado e uma biblioteca existente vale a pena usar.

Eu nunca tentei usar libconfig, mas parece uma boa escolha, e eu como o formato dos arquivos de configuração que utiliza.

Você precisa decidir se você quer que seu programa para ser capaz de arquivos de gravação de configuração. Se é um programa GUI, você provavelmente fazer. Isso vai afetar o que as bibliotecas são adequados.

Para um único aplicativo, você poderia considerar libconfuse .

Se você precisa ser capaz de lidar com uma ampla variedade de formatos de arquivo de configuração (por exemplo, para um portal web para um sistema, que precisa de ler e arquivos de gravação de configuração de vários aplicativos em vários formatos), há Augeas .

A questão é o formato de arquivo que você tem em mente? O atributo "simples" é um pouco de um underspecification. Se você está procurando uma biblioteca que pode usar "Windows ini formatada" arquivos de configuração que você pode querer verificar para fora ACE http://www.cs.wustl.edu/~schmidt/ACE/ .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top