【发布时间】:2010-09-16 10:34:25
【问题描述】:
我知道以下几点:
我确信还有更多我没有使用过甚至没有听说过的东西;快速的 Google 搜索显示 Gopt、argtable 和 Optlist。
就我个人而言,我最喜欢argp,而且我使用getopt/getopt_long 编写的每个程序(超出一定的复杂性基线)都已转换为使用argp。它比popt 更广泛可用,比getopt_long 更强大,有据可查,符合所有GNU 风格的约定,而且非常灵活。不利的一面是,它远非最容易使用(由于非常灵活),并且支持它的代码非常冗长(就像 C 中的许多东西一样)。
你用什么,为什么?
是的,我指的是 C 而不是 C++。有很多 C++ 解析器,但我不使用 C++。
John Millikin 指出 popt 不再维护。我之所以列出它,是因为许多程序仍在使用它——包括 AbiWord、rpm、rsync 和 samba——尽管 Gnome 努力使用migrate away。但我现在也添加了指向 Glib 参数解析器的链接。
对于 C++ 参数解析,请参阅问题What parameter parser libraries are there for C++?
【问题讨论】:
标签: c command-line parsing