1. Gengetopt

官网地址

支持 Win32


2. 配置 .ggo

编写需要处理的命令行选项配置文件(扩展名常为.ggo),然后交由gengetopt命令处理生成代码。

# 注释. ggo格式
package "<packname>"
version "<version>"
purpose "<purpose>"
usage "<usage>"
description "<description>"
versiontext "<versiontext>"

args "<command line options>"

option <long> <short> "<desc>"
	{details="<detailed description>"}
	{argtype} {typestr="<type descr>"}
	{values="<value1>","<value2>",...}
	{default="<default value>"}
	{dependon="<other option>"}
	{required} {argoptional} {multiple}
	{hidden}

option <long> <short> "<desc>" flag <on/off>

section "section name" {sectiondesc="optional section description"}

text "a textual sentence"

args

这个args是传递给gengetopt的args(详见 gengetopt -h)。

option

  • 一个双引号包围的字符串,变量名,由大小写字母、数字、(减号)-、点(.)组成,不允许出现空格。会做为存储参数而生成的变量名。
  • 一个大写或小定字符,或一个数字。减号(-)代理没有对应的短选项。
  • 选项描述。
  • {argtype} {typestr=”"} 选项值的类型与描述。
  • flag <on/off> 开关类型选项的默认值。


3. 生成代码

$ gengetopt < args.ggo


4. 调用

cmdline.h、cmdline.c