argp和getopt有什么区别?

时间:2011-10-06 16:35:14

标签: c arguments gnu getopt argp

我认为标题是自我解释的。我正在制作一个程序,我想知道我应该使用哪两个以及为什么。

3 个答案:

答案 0 :(得分:12)

argp可能更灵活/更强大/等,但getopt是POSIX标准的一部分。这是根据您是否希望您的程序可移植而做出的选择。

答案 1 :(得分:3)

来自Argp manual

  

Argp提供了更常用的getopt中不可用的功能   接口。这些功能包括自动生成输出   响应' - help'和'--version'选项,如中所述   GNU编码标准。使用argp使程序员不太可能   将忽略实施这些额外的选择或保持它们   日期。

答案 2 :(得分:1)

我没有太多选择我不这么认为。 Argp webpage说明了这一点:

  

Argp提供了更常用的getopt中不可用的功能   接口。这些功能包括自动生成输出   响应' - help'和'--version'选项,如中所述   GNU编码标准。使用argp使程序员不太可能   将忽略实施这些额外的选择或保持它们   日期。

     

Argp还提供了合并多个独立定义的功能   选项解析器合二为一,调解它们之间的冲突和制作   结果看起来无缝。库可以导出argp选项解析器   用户程序可能与他们自己的选项一起使用   解析器,导致用户程序的工作量减少。一些程序   可能只使用由库导出的参数解析器,从而实现   实现抽象的一致且有效的选项解析   由图书馆。