Assistentes de análise de argumentos para C / Unix
Eu sei do seguinte:
O venerávelgetopt(3)
O prolongadogetopt_long
Glibc'sargp
analisador para vetores de argumentos no estilo Unixpopt do projeto GNOME (ou seu sucessor espiritual emGlib)Tenho certeza de que há mais coisas que não usei nem ouvi falar; uma rápida pesquisa no Google revelaGopt, argtableeOptlist.
Pessoalmente, eu gostoargp
melhor, e todo programa que eu escrevi usandogetopt
/getopt_long
(além de uma certa linha de base de complexidade) foi convertida para usoargp
. É mais amplamente disponível do quepopt
, mais poderoso quegetopt_long
, bem documentado, consistente com todas as convenções de estilo GNU e muito flexível. No lado negativo, está longe de ser o mais fácil de usar (graças a ser tão flexível), e o código para suportá-lo é bem detalhado (assim como muitas coisas em C).
O que você usa e por quê?
Sim, quero dizer C ao invés de C ++. Há uma tonelada de analisadores de C ++, mas eu não uso C ++.
John Millikin observa quepopt
não é mais mantido. Eu o listo porque muitos programas ainda o usam - incluindo AbiWord, rpm, rsync e samba - apesar dos esforços do Gnome paramigrar para longe. Mas também adicionei um link ao analisador de argumentos do Glib agora.
Para análise de argumentos C ++, veja a questãoQuais bibliotecas de analisadores de parâmetros existem para o C ++?