我在网上发现的所有关于getopt_long
用法的例子(例如
this here)声明struct option
长选项为static
。
我不明白为什么所有这些例子都声明了一个静态变量,我不明白为什么要这样做,而且手册页也没有对此说些什么。
我应该将此变量声明为静态变量吗?为什么?
答案 0 :(得分:2)
原因是效率。如果声明struct option long_options[]
不是静态的,它将在进入main函数时在运行时构造,但如果它被声明为static,它将在编译时构造。
但无论哪种方式都可以。