当前位置:  开发笔记 > 编程语言 > 正文

用于C/Unix的参数解析助手

如何解决《用于C/Unix的参数解析助手》经验,为你挑选了1个好方法。

我知道以下内容:

令人尊敬的 getopt(3)

扩展 getopt_long

glibc argp用于Unix风格的参数向量的解析器

来自GNOME项目的popt(或其在Glib中的精神继承者)

我确信还有更多我没有使用过甚至没有听过的; 快速谷歌搜索显示Gopt,argtable和Optlist.

就个人而言,我argp最喜欢,并且我使用getopt/ 编写的每个程序getopt_long(超出某个复杂的基线)都已转换为使用argp.它比所有GNU风格的约定更加广泛可用popt,比getopt_long文档更强大,更灵活.在缺点方面,它远非最容易使用(由于非常灵活),并且支持它的代码非常冗长(C中的许多内容也是如此).

你用了什么,为什么?

是的,我的意思是C而不是C++.有大量的C++解析器,但我不使用C++.

约翰米利金指出,popt不再维持.我列出它是因为许多程序仍在使用它 - 包括AbiWord,rpm,rsync和samba - 尽管Gnome努力迁移.但我现在也添加了一个指向Glib的参数解析器的链接.


对于C++参数解析,请参阅问题C++有哪些参数解析器库?



1> dmckee..:

GNU有gengetopt,它为选项数据结构生成代码,getopt_long代码用于解析命令行并填充结构.它相当容易学习并且运行良好.

作为奖励,您可以围绕代码传递选项结构,并在需要时避免全局存储.

它提供了GNU样式语义(显然),如果你不确定你的受众的构建环境,它就足够小,可以简单地包含在项目中.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有