Analizatory analizujące argumenty dla C / Unix

Wiem o następujących sprawach:

Czcigodnygetopt(3)Rozszerzonygetopt_longglibc'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 ++?

questionAnswers(7)

yourAnswerToTheQuestion