какая библиотека используется для анализа аргументов командной строки в 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.