我目前使用一些旧的C库来获取程序选项,并希望用一些适当的C ++替换它(主要是为了独立于该库,这是一个真正的负担)。我正在研究使用boost.program_options,但我不确定它是否能支持我想要的一切。我想要的一些事情是:
允许以下命令行语法:myprogram option=value
(特别是,我真的不需要--option value
语法)
如果没有提供任何值,则使用默认值(显然这可以在我的程序中完成,但选项库中的支持会很好)
允许默认选项(即使我不提供它们也始终存在)以及包含所有选项及其描述的自动帮助输出
允许数学解析,即(命令行)myprogram option1=Pi option2=3/5 option3=sqrt(2)
在我的程序中给出3.1415 ...,0.6和1.415 ...
允许展开单个值。让option_3Dpoint
对应std::array<double,3>
,我希望myprogram option_3Dpoint=0,0,0
和myprogram option_3Dpoint=0
(扩展到0,0,0
)工作
boost.program_options可以支持以下哪些内容?还有其他选择吗?
答案 0 :(得分:3)
boost.program_options是非常好的库。您也可以使用解析配置文件。回答:
3DPoint
0,0,0
对象
醇>