2010-10-24 4 views
12

Плохая форма использования GNU getopt в программах на C++? Есть ли альтернатива C++, или мне еще нужно использовать getopt?Параметры C++ и командной строки

+0

Не совсем дубликат, но смотрите: [реализация getopt подходит для проприетарных программ на C++?] (Http://stackoverflow.com/questions/456797/getopt-implementation-suitable-for-proprietary-c-programs) для идей , –

ответ

9

Там нет ничего плохого в использовании Getopt. Существует множество объектно-ориентированных альтернатив, плавающих вокруг, включая Boost.Program_options, и классы в POCO и ACE.

+0

+1 для дополнительных параметров программы. – thekidder

5

Я не знаю, что с использованием getopt что-то не так. Но вы можете посмотреть на Boost.Program_options.

3

Совсем нет, getopt отлично в C++. Для Boost :: program_options необходимо установить библиотеку Boost, чего многие могут не иметь.

+0

Boost может быть создан как статические библиотеки. В противном случае вам практически придется отправлять динамические библиотеки с вашим проектом * в любом случае *. – greyfade

+1

Я имею в виду, что пакеты «devel» для многих дистрибутивов Linux могут не включать Boost по умолчанию. – greg

2

Попробуйте библиотеку CLPP. Это простая и гибкая библиотека для синтаксического анализа параметров командной строки. Только для заголовков и кросс-платформенных. Использует только библиотеки ISO C++ и Boost C++. ИМХО это проще, чем Boost.Program_options.

Библиотека: http://sourceforge.net/projects/clp-parser

26 октября 2010 - новая версия 2.0rc. Исправлено много ошибок, исправлена ​​полная реорганизация исходного кода, документация, примеры и комментарии.

Смежные вопросы