11

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

4

3 回答 3

16

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

于 2011-10-06T16:39:53.270 回答
4

Argp 手册

Argp 提供了更常用的 getopt 接口中不可用的功能。这些功能包括自动生成输出以响应“--help”和“--version”选项,如 GNU 编码标准中所述。使用 argp 可以减少程序员忽略实现这些附加选项或使它们保持最新的可能性。

于 2011-10-06T16:38:21.527 回答
1

我认为没有太多选择。Argp 网页是这样说的:

Argp 提供了更常用的 getopt 接口中不可用的功能。这些功能包括自动生成输出以响应“--help”和“--version”选项,如 GNU 编码标准中所述。使用 argp 可以减少程序员忽略实现这些附加选项或使它们保持最新的可能性。

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

于 2011-10-06T16:38:03.623 回答