Теперь более длинное объяснение Вопрос: < /p>
Я заработал, пока не использовал Gengetopt для анализа аргумента командной строки. Это хороший инструмент, который генерирует исходный код C из своего собственного формата конфигурации (текстовый файл). Например, строка конфигурации Gengetopt < /p>
Код: Выделить всё
option "max-threads" m "max number of threads" int default="1" optional
< /code>
, среди прочего, генерирует переменную < /p>
int max_threads_arg;
< /code>
, который я позже могу использовать. >
[*] способ генерировать страницы Unix Man из формата конфигурации Gengetopt < /p> < /li>
способ генерирования документации DOCBook или HTML из формата конфигурации GengetOpt
Способ повторного использования исходного кода C/C ++ и повторного использования строк конфигурации GengetOpt, когда я Иметь несколько программ, которые имеют некоторые общие параметры командной строки < /p> < /li>
< /ul>
Конечно, Gengetopt может предоставить мне текст документации, запустив < /p>
command --help< /code> < /p>
Но я ищу отмеченную документацию (например, html, docbook, unix man pages). < /p>
Знаете ли вы, есть ли какой -нибудь инструмент аргумента командной строки C/c ++ с либеральной лицензией с открытым исходным кодом, которая отвечает мне?
Я думаю, что такое такое Инструмент будет использовать XML для указания аргументов командной строки. Это позволило бы легко генерировать документацию в разных форматах (например, Man Pages). Файл XML должен понадобиться только во время сборки для генерации исходного кода C /C ++. < /P>
Я знаю Файл конфигурации в XML во время выполнения, но я ищу инструмент, который генерирует исходный код C /C ++ из XML (или что -то подобное) во время сборки. < /p>
[b] Обновление 1 < /strong> < /p>
Я хотел бы сделать как можно больше о вычислениях во время компиляции и как можно меньше во время выполнения. Поэтому я хотел бы избежать библиотек, которые дают вам карту параметров командной строки, например, например, Boost :: Program_options :: variables_map (учебник).
Другие слова, я предпочитаю args_info.iterations_arg пользователь tsug303 < /strong> предложил библиотеку tclap < /code>. Это выглядит довольно красиво. Это соответствовало бы моим потребностям, чтобы разделить варианты на группы, чтобы я мог повторно использовать код, когда несколько программ разделяют некоторые общие варианты. Хотя он не генерирует исходный код из формата файла конфигурации в XML, я почти отметил этот ответ как принятый ответ. Все мои требования, поэтому я начал думать о написании своей собственной библиотеки. Эскиз: новый инструмент, который вводит в качестве ввода пользовательского формата XML, и который генерирует как код C ++, так и схема XML. Некоторый другой код C ++ генерируется из схемы XML с помощью кода инструментов xsd. Две куски кода C ++ объединены в библиотеку. Одна дополнительная выгода заключается в том, что мы получаем схему XML для параметров командной строки и что мы получаем способ сериализовать все из них в двоичный формат (в формате CDR, генерируемого из CodeSynthesis XSD). Я посмотрю, получу ли я время, чтобы написать такую библиотеку. Лучше, конечно, - найти библиотеку, которая уже была реализована. Это выглядит многообещающе, и я буду стремиться попробовать это, когда будет реализована запланированная генерация кода C ++. Предложение от nore [/b] выглядит как самое близкое к тому, что я искал.
Подробнее здесь: https://stackoverflow.com/questions/104 ... or-similar
Мобильная версия