【发布时间】:2014-01-14 21:03:44
【问题描述】:
这个问题特别关注 gcc 中可选参数的 getopt。当一个选项被定义为有一个可选参数并且没有给出参数时, optarg 被设置为一个空指针或一个指向空字符串的指针。该手册似乎没有处理这种情况。行为是否有保证?
巴里
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读About 页面。请注意,GCC 是一个 C 编译器,您可能会链接到不同系统上
getopt()函数的不同实现。例如,如果您在 Solaris 上使用 GCC,您可能会使用getopt()的 Solaris 实现,当您编写代码以使用 CLIP(命令行界面范式)扩展时,它相当强大,但它接近于 POSIXgetopt()当你不这样做时,而在 Linux 上,你可能会使用getopt()的 GLIBC 实现,它有一组不同的扩展。 -
感谢您的所有帮助,这非常有用。我正在审查其他人的 17 年旧代码,它现在似乎反映了 POSIX getopt,而不使用该库。我会更仔细地研究并进一步考虑此事。