gperf (обработка параметров командной строки в C/C++)

Модератор: Модераторы разделов

richrd
Сообщения: 227

gperf

Сообщение richrd »

Собственно сабж.
Использует кто? Попробовал вот.
Созданный perfecthash.hpp не содержал нужного #include <string.h>
С ним собралось. Но:
Запускаю программку и вот что получаю

Код: Выделить всё

./gperf
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct NULL not valid
Аварийный останов

или с параметрам:

Код: Выделить всё

./gperf HELPVERBOSE
Ошибка сегментирования

вот собственно мини howto
из которого пример проекта и собирал.
В конец command_options.gperf нужно %% добавить и в perfecthash.hpp #include <string.h>
gperf -v: GNU gperf 3.0.3, как и в примере.
Спасибо сказали:
richrd
Сообщения: 227

Re: gperf

Сообщение richrd »

вспомнил про тему : )
просто нужно было

Код: Выделить всё

if(option){// без параметров option is NULL
  switch (option->OptionCode)
    {
    case CommandOptionCode::HELPVERBOSE :
      cout << "Application specific detailed help goes here"; break;
    default: break;
    }
...

а вызов с параметрами по примеру выглядит так:

Код: Выделить всё

./gperf +helpverbose
Спасибо сказали: