今天修改opengauss代码pg_ctl.cpp,涉及到getopt_long()函数的使用,这位老兄已经总结的很好了,我不必重复:
浅谈linux的命令行解析参数之getopt_long函数_andy cong的博客-优快云博客_getopt_long
快速理解:
1、其实就是使用getopt_long()函数及相关的全局变量,分析main里的argc和argv。
2、需要:a. 包含参数名和其缩写的定义结构体。
b. while-switch-case循环每次调用getopt_long函数。
"b:cD:e:fi:G:l:m:M:N:o:O:p:P:r:R:v:x:sS:t:u:U:wWZ:dqL:T:Q:" 这样奇怪的字符串是
getopt_long的参数,用来表达选项是否含参数。
c. 全局变量optarg,获取选项传入的值。
3、参考opengauss代码pg_ctl.cpp,是很好的例子。