Какие пакеты вы используете для обработки параметров командной строки, настроек и файлов конфигурации?Как вы обрабатываете параметры командной строки и файлы конфигурации?
Я ищу что-то, что читает пользовательские параметры из командной строки и/или из файлов конфигурации.
Параметры (настройки) должны быть разделены на разные группы, поэтому я могу передавать разные (подмножества) параметры для разных объектов в моем коде.
Я знаю boost::program_options
, но я не могу привыкнуть к API
. Есть ли легкие альтернативы?
(Кстати, вы когда-либо использовать глобальные параметры объекта в коде, который может быть считан из любого места? Или вы считаете, что зло?)
+1 для boost :: program_options, но только просто! Я был бы осторожен с использованием программных опций в качестве одноэлементного. Мы были укушены, сделав это в том, что теперь нам нужно добавить разные наборы параметров для разных файлов. Сначала нам нужно вернуться и удалить синглтон, чтобы мы могли хранить разные наборы параметров для каждого отдельного файла. –
Хорошая точка, Ричард. Я использую boost :: program_options для игры, и, очевидно, для каждого процесса достаточно одного набора параметров, но для разных целей это будет плохая идея. – rlbond
Вы все еще в пользу boost :: program_options? Похоже, что он больше не разработан (последний веб-сайт docs был изменен в 2004 году). Использует ли он/совместим с C++ 11? При чтении между строками вашего сообщения это на самом деле не очень хорошая рекомендация: * Просто убедитесь, что делаете лодку модульного тестирования, потому что, если вы получите неверный синтаксис, вы получите ошибки времени выполнения * - это большой красный флаг! – Walter