结构
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()。