⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 option.sgml

📁 linux下电话本所依赖的库文件
💻 SGML
字号:
<!-- ##### SECTION Title ##### -->Commandline option parser<!-- ##### SECTION Short_Description ##### -->parses commandline options<!-- ##### SECTION Long_Description ##### --><para>The GOption commandline parser is intended to be a simpler replacement for thepopt library. It supports short and long commandline options, as shown in the following example:</para><para><literal>testtreemodel -r 1 --max-size 20 --rand --display=:1.0 -vb -- file1 file2</literal></para><para>The example demonstrates a number of features of the GOption commandline parser<itemizedlist><listitem><para>  Options can be single letters, prefixed by a single dash. Multiple  short options can be grouped behind a single dash.</para></listitem><listitem><para>  Long options are prefixed by two consecutive dashes.</para></listitem><listitem><para>  Options can have an extra argument, which can be a number, a string or a filename.  For long options, the extra argument can be appended with an equals sign after the  option name.</para></listitem><listitem><para>  Non-option arguments are returned to the application as rest arguments.</para></listitem><listitem><para>  An argument consisting solely of two dashes turns off further parsing, any remaining  arguments (even those starting with a dash) are returned to the application as rest   arguments.</para></listitem></itemizedlist></para><para>Another important feature of GOption is that it can automatically generate nicelyformatted help output. Unless it is explicitly turned off with g_option_context_set_help_enabled(), GOption will recognize the <option>--help</option>, <option>-?</option>, <option>--help-all</option>and <option>--help-</option><replaceable>groupname</replaceable> options (where <replaceable>groupname</replaceable> is the name of a #GOptionGroup) and write a text similar to the one shown in the following example to stdout.</para><informalexample><screen>Usage:  testtreemodel [OPTION...] - test tree model performanceHelp Options:  -?, --help               Show help options  --help-all               Show all help options  --help-gtk               Show GTK+ OptionsApplication Options:  -r, --repeats=N          Average over N repetitions  -m, --max-size=M         Test up to 2^M items  --display=DISPLAY        X display to use  -v, --verbose            Be verbose  -b, --beep               Beep when done     --rand                   Randomize the data</screen></informalexample><para>GOption groups options in #GOptionGroup<!-- -->s, which makes it easy toincorporate options from multiple sources. The intended use for this isto let applications collect option groups from the libraries it uses,add them to their #GOptionContext, and parse all options by a single callto g_option_context_parse(). See gtk_get_option_group() for an example.</para><para>If an option is declared to be of type string or filename, GOption takescare of converting it to the right encoding; strings are returned in UTF-8,filenames are returned in the GLib filename encoding.</para><para>Here is a complete example of setting up GOption to parse the examplecommandline above and produce the example help output.</para><informalexample><programlisting>static gint repeats = 2;static gint max_size = 8;static gboolean verbose = FALSE;static gboolean beep = FALSE;static gboolean rand = FALSE;static GOptionEntry entries[] = {  { "repeats", 'r', 0, G_OPTION_ARG_INT, &amp;repeats, "Average over N repetitions", "N" },  { "max-size", 'm', 0, G_OPTION_ARG_INT, &amp;max_size, "Test up to 2^M items", "M" },  { "verbose", 'v', 0, G_OPTION_ARG_NONE, &amp;verbose, "Be verbose", NULL },  { "beep", 'b', 0, G_OPTION_ARG_NONE, &amp;beep, "Beep when done", NULL },  { "rand", 0, 0, G_OPTION_ARG_NONE, &amp;rand, "Randomize the data", NULL },  { NULL }};int main (int argc, char *argv[]){  GError *error = NULL;  context = g_option_context_new ("- test tree model performance");  g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);  g_option_context_add_group (context, gtk_get_option_group (TRUE));  g_option_context_parse (context, &amp;argc, &amp;argv, &amp;error);    /* ... */}</programlisting></informalexample><!-- ##### SECTION See_Also ##### --><para></para><!-- ##### SECTION Stability_Level ##### --><!-- ##### ENUM GOptionError ##### --><para>Error codes returned by option parsing.</para>@G_OPTION_ERROR_UNKNOWN_OPTION: An option was not known to the parser.  This error will only be reported, if the parser hasn't been instructed  to ignore unknown options, see g_option_context_set_ignore_unknown_options().@G_OPTION_ERROR_BAD_VALUE: A value couldn't be parsed.@G_OPTION_ERROR_FAILED: A #GOptionArgFunc callback failed.<!-- ##### MACRO G_OPTION_ERROR ##### --><para>Error domain for option parsing. Errors in this domain willbe from the #GOptionError enumeration. See #GError for information on error domains.</para><!-- ##### USER_FUNCTION GOptionArgFunc ##### --><para>The type of function to be passed as callback for %G_OPTION_ARG_CALLBACKoptions.</para>@option_name: The name of the option being parsed. This will be either a   single dash followed by a single letter (for a short name) or two dashes  followed by a long option name.@value: The value to be parsed.@data: User data added to the #GOptionGroup containing the option when it  was created with g_option_group_new()@error: A return location for errors. The error code %G_OPTION_ERROR_FAILED  is intended to be used for errors in #GOptionArgFunc callbacks.@Returns: %TRUE if the option was successfully parsed, %FALSE if an error   occurred<!-- ##### STRUCT GOptionContext ##### --><para>A <structname>GOptionContext</structname> struct defines which optionsare accepted by the commandline option parser. The struct has only private fields and should not be directly accessed.</para><!-- ##### FUNCTION g_option_context_new ##### --><para></para>@parameter_string: @Returns: <!-- ##### FUNCTION g_option_context_free ##### --><para></para>@context: <!-- ##### FUNCTION g_option_context_parse ##### --><para></para>@context: @argc: @argv: @error: @Returns: <!-- ##### FUNCTION g_option_context_set_help_enabled ##### --><para></para>@context: @help_enabled: <!-- ##### FUNCTION g_option_context_get_help_enabled ##### --><para></para>@context: @Returns: <!-- ##### FUNCTION g_option_context_set_ignore_unknown_options ##### --><para></para>@context: @ignore_unknown: <!-- ##### FUNCTION g_option_context_get_ignore_unknown_options ##### --><para></para>@context: @Returns: <!-- ##### ENUM GOptionArg ##### --><para>The #GOptionArg enum values determine which type of extra argument theoptions expect to find. If an option expects an extra argument, itcan be specified in several ways; with a short option:<option>-x arg</option>, with a long option: <option>--name arg</option>or combined in a single argument: <option>--name=arg</option>.</para>@G_OPTION_ARG_NONE: No extra argument. This is useful for simple flags.@G_OPTION_ARG_STRING: The option takes a string argument.@G_OPTION_ARG_INT: The option takes an integer argument.@G_OPTION_ARG_CALLBACK: The option provides a callback to parse the  extra argument.@G_OPTION_ARG_FILENAME: The option takes a filename as argument.@G_OPTION_ARG_STRING_ARRAY: The option takes a string argument, multiple  uses of the option are collected into an array of strings.@G_OPTION_ARG_FILENAME_ARRAY: The option takes a filename as argument,   multiple uses of the option are collected into an array of strings.<!-- ##### ENUM GOptionFlags ##### --><para>Flags which modify individual options.</para>@G_OPTION_FLAG_HIDDEN: The option doesn't appear in <option>--help</option>   output.@G_OPTION_FLAG_IN_MAIN: The option appears in the main section of the   <option>--help</option> output, even if it is defined in a group.@G_OPTION_FLAG_REVERSE: For options of the G_OPTION_ARG_NONE kind, this flag   indicates that the sense of the option is reversed.<!-- ##### MACRO G_OPTION_REMAINING ##### --><para>If a long option in the main group has this name, it is not treated as a regular option. Instead it collects all non-option arguments which wouldotherwise be left in <literal>argv</literal>. The option must be of type%G_OPTION_ARG_STRING_ARRAY or %G_OPTION_ARG_FILENAME_ARRAY.</para><para>Using #G_OPTION_REMAINING instead of simply scanning <literal>argv</literal>for leftover arguments has the advantage that GOption takes care of necessary encoding conversions for strings or filenames.</para>@Since: 2.6<!-- ##### STRUCT GOptionEntry ##### --><para>A <structname>GOptionEntry</structname> defines a single option.To have an effect, they must be added to a #GOptionGroup withg_option_context_add_main_entries() or g_option_group_add_entries().</para>@long_name: The long name of an option can be used to specify it  in a commandline as --<replaceable>long_name</replaceable>. Every  option must have a long name. To resolve conflicts if multiple  option groups contain the same long name, it is also possible to  specify the option as   --<replaceable>groupname</replaceable>-<replaceable>long_name</replaceable>.@short_name: If an option has a short name, it can be specified  -<replaceable>short_name</replaceable> in a commandline.@flags: Flags from #GOptionFlags.@arg: The type of the option, as a #GOptionArg.@arg_data:  If the @arg type is %G_OPTION_ARG_CALLBACK, then @arg_data must  point to a #GOptionArgFunc callback function, which will be called to handle  the extra argument. Otherwise, @arg_data is a pointer to a location to store  the value, the required type of the location depends on the @arg type:  <variablelist>    <varlistentry>      <term>%G_OPTION_ARG_NONE</term>      <listitem><para>%gboolean</para></listitem>    </varlistentry>    <varlistentry>      <term>%G_OPTION_ARG_STRING</term>      <listitem><para>%gchar*</para></listitem>    </varlistentry>    <varlistentry>      <term>%G_OPTION_ARG_INT</term>      <listitem><para>%gint</para></listitem>    </varlistentry>    <varlistentry>      <term>%G_OPTION_ARG_FILENAME</term>      <listitem><para>%gchar*</para></listitem>    </varlistentry>    <varlistentry>      <term>%G_OPTION_ARG_STRING_ARRAY</term>      <listitem><para>%gchar**</para></listitem>    </varlistentry>    <varlistentry>      <term>%G_OPTION_ARG_FILENAME_ARRAY</term>      <listitem><para>%gchar**</para></listitem>    </varlistentry>  </variablelist>@description: the description for the option in <option>--help</option>  output. The @description is translated using the @translate_func of the  group, see g_option_group_set_translation_domain().@arg_description: The placeholder to use for the extra argument parsed  by the option in <option>--help</option>  output. The @arg_description is translated using the @translate_func of the  group, see g_option_group_set_translation_domain().<!-- ##### FUNCTION g_option_context_add_main_entries ##### --><para></para>@context: @entries: @translation_domain: <!-- ##### STRUCT GOptionGroup ##### --><para>A <structname>GOptionGroup</structname> struct defines the options in a singlegroup. The struct has only private fields and should not be directly accessed. </para><para>All options in a group share the same translation function. Libaries whichneed to parse commandline options are expected to provide a function forgetting a <structname>GOptionGroup</structname> holding their options, which the application can then add to its #GOptionContext.</para><!-- ##### FUNCTION g_option_context_add_group ##### --><para></para>@context: @group: <!-- ##### FUNCTION g_option_context_set_main_group ##### --><para></para>@context: @group: <!-- ##### FUNCTION g_option_context_get_main_group ##### --><para></para>@context: @Returns: <!-- ##### FUNCTION g_option_group_new ##### --><para></para>@name: @description: @help_description: @user_data: @destroy: @Returns: <!-- ##### FUNCTION g_option_group_free ##### --><para></para>@group: <!-- ##### FUNCTION g_option_group_add_entries ##### --><para></para>@group: @entries: <!-- ##### USER_FUNCTION GOptionParseFunc ##### --><para>The type of function that can be called before and after parsing.</para>@context The active #GOptionContext@context: @group: The group to which the function belongs@data: User data added to the #GOptionGroup containing the option when it  was created with g_option_group_new()@error: A return location for error details@Returns: %TRUE if the function completed successfully, %FALSE if an error   occurred<!-- ##### FUNCTION g_option_group_set_parse_hooks ##### --><para></para>@group: @pre_parse_func: @post_parse_func: <!-- ##### USER_FUNCTION GOptionErrorFunc ##### --><para>The type of function to be used as callback when a parse erroroccurs.</para>@context The active #GOptionContext@context: @group: The group to which the function belongs@data: User data added to the #GOptionGroup containing the option when it  was created with g_option_group_new()@error: The #GError containing details about the parse error<!-- ##### FUNCTION g_option_group_set_error_hook ##### --><para></para>@group: @error_func: <!-- ##### USER_FUNCTION GTranslateFunc ##### --><para>The type of functions which are used to translate user-visiblestrings, for <option>--help</option> output.</para>@str: the untranslated string@data: user data specified when installing the function, e.g.  in g_option_group_set_translate_func()@Returns: a translation of the string for the current locale.  The returned string is owned by GLib and must not be freed.<!-- ##### FUNCTION g_option_group_set_translate_func ##### --><para></para>@group: @func: @data: @destroy_notify: <!-- ##### FUNCTION g_option_group_set_translation_domain ##### --><para></para>@group: @domain: 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -