long选项作为getopt_long的静态变量

时间:2014-10-01 13:01:50

标签: c getopt-long

我在网上发现的所有关于getopt_long用法的例子(例如 this here)声明struct option长选项为static

我不明白为什么所有这些例子都声明了一个静态变量,我不明白为什么要这样做,而且手册页也没有对此说些什么。

我应该将此变量声明为静态变量吗?为什么?

1 个答案:

答案 0 :(得分:2)

原因是效率。如果声明struct option long_options[]不是静态的,它将在进入main函数时在运行时构造,但如果它被声明为static,它将在编译时构造。

但无论哪种方式都可以。