какая библиотека используется для анализа аргументов командной строки в C++

Я знаю, о getopts и argp. Я только что заглянул в boost и они program_options как библиотека для разбора параметров командной строки.

Я не совсем уверен, какой из них использовать. Я знаю getopts is POSIX, а argp нет, но это не имеет значения для меня. Что имеет значение, так это простота использования. Можете ли вы порекомендовать (плюсы/минусы?) один. Я открыт и для других библиотек.

3 ответов


Если вы хотите что-то легкое и простое в использовании, то вас может заинтересовать TCLAP (только заголовок, либеральная лицензия). (пример)

иначе boost::program_options (также либеральная лицензия) предоставляет практически все, что может понадобиться. (пример)

наконец, если вы уже используете фреймворк/библиотеку (wxWidgets, в, Qt), который имеет некоторую обработку аргументов командной строки, тогда, вероятно, самый простой вариант-придерживаться этой структуры.


вы также можете использовать popt.

Если вы используете графический инструментарий, такой как Gtk (через GtkMM, если в C++) или Qt, каждый из них предлагает свои собственные средства синтаксического анализа аргументов командной строки.


glibmm имеет Glib:: OptionContext. Это довольно просто, но делает то, что нужно большинству людей, стандартным способом. Это не очень хорошо документировано, но вот пример, который показывает большую часть того, что он может сделать:http://git.gnome.org/browse/glibmm/tree/examples/options/main.cc

Он обертывает API GOptionContext C в glib.