[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

3. gengetoptの呼び出し

以下はgengetopt --helpの出力です.

 
gengetopt 

This program generates a C function that uses getopt_long function
to parse the command line options, validate them and fill a struct.

Usage: gengetopt [OPTIONS]...

  -h, --help                  Print help and exit
  -V, --version               Print version and exit
  -i, --input=filename        input file (default std input)
  -f, --func-name=name        name of generated function  
                                (default=`cmdline_parser')
  -a, --arg-struct-name=name  name of generated args info struct  
                                (default=`gengetopt_args_info')
  -F, --file-name=name        name of generated file  (default=`cmdline')
  -c, --c-extension=ext       extension of c file  (default=`c')
  -H, --header-extension=ext  extension of header file  (default=`h')
  -l, --long-help             long usage line in help
  -u, --unamed-opts[=STRING]  accept options without names (e.g., file names)  
                                (default=`FILES')
  -n, --no-handle-help        do not handle --help|-h automatically
  -N, --no-handle-version     do not handle --version|-V automatically
  -e, --no-handle-error       do not exit on errors
  -g, --gen-version           put gengetopt version in the generated file  
                                (default=on)
  -C, --conf-parser           generate a config file parser
      --set-package=STRING    set the package name (override package defined in 
                                the .ggo file)
      --set-version=STRING    set the version number (override version defined 
                                in the .ggo file)
      --show-help             show the output of --help instead of generating 
                                code
      --show-version          show the output of --version instead of 
                                generating code

オプションは,特に,はっきりとさせておくべきでしょう.

--func-name

--func-nameがあたえられていない場合,cmdline_parserがデフォ ルトになります.

--arg-struct-name

コマンドライン引数に対応して生成される構造体の名前を指定することが可能 です(デフォルトはgengetopt_args_info).

--long-help

"Usage"行で,すべてのオプションを表示します.これは,オプションが多い 場合,よろこばしくない可能性があります.

--unamed-opts

プログラムは,名前の無いオプションも受け入れ,それはほとんどの状況で, プログラムに多くのファイル名を渡すことが可能になることを意味します (sample1 *.hを呼び出している基本的な使用方法の例を参照して下さ い).これらの追加の名前にオプションの記述を指定することが可能です(デフォ ルトはFILESです).

--no-handle-help
--no-handle-version

--no-handle-help (--no-handle-version)が与えられている場 合,コマンドラインオプション--help|-h (--version|-V)は, 自動的に処理されないので,プログラマはそれ以外のオプションを出力するこ とが可能になります.標準的なヘルプ(バージョン)に対応して出力する関数は 使用可能です.この関数は,<parser-name>_print_help (<parser-name>_print_version)と呼ばれ,<parser-name>の名 前は,--func-nameで指定されたもの,またはデフォルトの cmdline_parserになります.

--no-handle-error

--no-handle-errorが与えられている場合,構文解析時のエラーで,プ ログラムの終了コードが呼び出されません.その代わりに,構文解析関数は, エラー時には0以外の値を返し,プログラムはヘルプメッセージを出力し, gengetopt自身がエラー時に行うことと同じようになります(試してみてください!).

--gen-version

これはフラグ(デフォルトでon)で,利用不可能なときは出力ファイルに gengetoptのバージョンを書き出しません(テスト目的で役に立ちます).

既にお分かりかもしれませんが,gengetoptはgengetopt自身を,コマンドライ ンオプションに対して使用していて,その仕様が書かれているファイルはソー スディレクトリのcmdline.ggoです.特に,gengetopt自身のコマンドラ インは,以下のコマンドで生成されています.

 
gengetopt --input=cmdline.ggo --no-handle-version \
          --no-handle-help --no-handle-error

実際,--help|-hがコマンドラインで渡されると,gengetoptは cmdline_parser_print_help()を呼び出し,バグ報告の行が表示されま す.--version|-Vが渡されるとき, cmdline_parser_print_version()が呼び出され,著作権が出力されます. エラーが生じた場合,画面にメッセージが出力されます.

 
$ ./gengetopt --zzzz
./gengetopt: unrecognized option `--zzzz'
Run gengetopt --help to see the list of options.

[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on November, 2 2005 using texi2html 1.70.