结构

GLibOptionEntry

描述 [src]

struct GOptionEntry {
  const gchar* long_name;
  gchar short_name;
  gint flags;
  GOptionArg arg;
  gpointer arg_data;
  const gchar* description;
  const gchar* arg_description;
}

GOptionEntry 结构定义了一个单一选项。要生效,它们必须使用 g_option_context_add_main_entries() 或 g_option_group_add_entries() 添加到 GOptionGroup 中。

结构成员
long_name

选项的长名称可在命令行中将其指定为 --long_name。每个选项都必须具有一个长名称。如果多个选项组包含相同的长名称,则为了解决冲突,还可以将选项指定为 --groupname-long_name

short_name

如果选项具有短名称,则可以在命令行中将其指定为 -short_nameshort_name 必须是除“-”之外可打印的 ASCII 字符,或者如果没有短名称,则为零。

flags

来自 GOptionFlags 的标志。

arg

选项的类型,表示为 GOptionArg

arg_data

如果 arg 的类型是 G_OPTION_ARG_CALLBACK,则 arg_data 必须指向要调用的 GOptionArgFunc 回调函数,以处理额外变量。否则,arg_data 是指向存储值的位置的指针,位置所需类型会根据 arg 类型而异:- G_OPTION_ARG_NONE: %gboolean - G_OPTION_ARG_STRING: %gchar* - G_OPTION_ARG_INT: %gint - G_OPTION_ARG_FILENAME: %gchar* - G_OPTION_ARG_STRING_ARRAY: %gchar** - G_OPTION_ARG_FILENAME_ARRAY: %gchar** - G_OPTION_ARG_DOUBLE: %gdouble 如果 arg 类型是 G_OPTION_ARG_STRINGG_OPTION_ARG_FILENAME,如果给出了此选项,则位置将包含一个新分配的字符串。受呼叫方使用 g_free() 释放该字符串。同样,如果 arg 类型是 G_OPTION_ARG_STRING_ARRAYG_OPTION_ARG_FILENAME_ARRAY,则应使用 g_strfreev() 释放数据。

description

--help 输出中选项的描述。description 使用组的 translate_func 进行翻译,参见 g_option_group_set_translation_domain()。

arg_description

--help 输出中选项解析的额外变量中要使用的占位符。arg_description 使用组的 translate_func 进行翻译,参见 g_option_group_set_translation_domain()。