结构
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_name
。short_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_STRING
或G_OPTION_ARG_FILENAME
,如果给出了此选项,则位置将包含一个新分配的字符串。受呼叫方使用 g_free() 释放该字符串。同样,如果arg
类型是G_OPTION_ARG_STRING_ARRAY
或G_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()。