Pau*_*cks 12 c c++ command-line parsing option
可能重复:
C++有哪些参数解析器库?
我已经做了一些寻找,并且有很多用于命令行选项解析的库,但很难区分它们.有没有人有任何经验?是否比其他任何人更难/更好/更快/更容易/更好?或者我应该自己成长?
Jon*_*ler 13
出于许多目的,GNU getopt()和getopt_long()函数是很好的选择.
GNU getopt()用于单字母选项参数,并且非常接近POSIX标准行为,并且可以通过设置环境变量POSIXLY_CORRECT来说服其表现得更正统.区别在于GNU getopt()在第一个非选项参数之后识别选项参数,并置换参数,以便在任何非选项参数之前处理所有选项参数.这有时很重要 - 尽管背景往往有点深奥.还有一些额外的技巧可用.
GNU getopt_long()是处理诸如的长期选项的最佳机制--help.它可以处理可选参数,匹配单字母选项和各种事物.
还有许多其他可用的包以各种方式处理选项.
(Perl拥有大量的Getopt模块,反映了多年来投入了多少精力.)
您可能会在Unix shell命令的一般语法中找到一些有用的额外信息.您还可以在" 实用程序约定"一章中阅读命令行约定的POSIX规范.
boost :: program_options非常好,并且有一个很好的C++接口,可以检查选项参数是否具有某种类型(如'int')并将它们直接存储到变量中.
它还支持从配置文件加载"选项",因此您可以免费获得配置文件解析器.这样,您可以非常轻松地允许从命令行覆盖所有配置设置,或者将所有命令行选项添加到配置文件中,这使其非常灵活.
| 归档时间: |
|
| 查看次数: |
18995 次 |
| 最近记录: |