Analizatory analizujące argumenty dla C / Unix
Wiem o następujących sprawach:
Czcigodnygetopt(3)
Rozszerzonygetopt_long
glibc'sargp
parser dla wektorów argumentów w stylu uniksowympopt z projektu GNOME (lub jego duchowego następcy wBez zająknienia)Jestem pewien, że jest coś więcej, o czym nie korzystałem, a nawet nie słyszałem; szybka wyszukiwarka Google ujawniaGopt, sporny, iOptlist.
Osobiście lubięargp
najlepiej i każdy program, który napisałem, użyłemgetopt
/getopt_long
(poza pewną podstawową złożonością) został przekonwertowany do użyciaargp
. Jest szerzej dostępny niżpopt
, mocniejszy niżgetopt_long
, dobrze udokumentowane, zgodne ze wszystkimi konwencjami w stylu GNU i bardzo elastyczne. Z drugiej strony, nie jest to najłatwiejsze w użyciu (dzięki temu, że jest tak elastyczne), a kod do obsługi jest dość gadatliwy (podobnie jak wiele rzeczy w C).
Czego używasz i dlaczego?
Tak, mam na myśli C, a nie C ++. Istnieje mnóstwo parserów C ++, ale nie używam C ++.
John Millikin zauważa topopt
nie jest już utrzymywany. Wymieniam go, ponieważ wiele programów nadal go używa - w tym AbiWord, rpm, rsync i samba - pomimo wysiłków Gnomeodejść. Ale teraz dodałem link do parsera argumentów Glib.
W przypadku analizowania argumentów C ++ zobacz pytanieJakie biblioteki parserów parametrów są dostępne dla C ++?