command_options.gperf:
%{
#include "command_options.h"
typedef struct CommandOptionCode CommandOptionCode;
%}
struct CommandOption
{
const char *Option;
int OptionCode;
};
%%
+helpverbose, CommandOptionCode::HELPVERBOSE
+password, CommandOptionCode::PASSWORD
+nocopyright, CommandOptionCode::NOCOPYRIGHT
+nolog, CommandOptionCode::NOLOG
+_64bit, CommandOptionCode::_64BIT
command_options.h:
#ifndef __COMMANDOPTIONS_H
#define __COMMANDOPTIONS_H
struct CommandOptionCode
{
enum
{
HELPVERBOSE = 1,
PASSWORD = 2,
NOCOPYRIGHT = 3,
NOLOG = 4,
_64BIT = 5
};
};
#endif
私が実行すると:
gperf -L C++ -t --output-file=perfecthash.hpp command_options.gperf
取得のみ:
空の入力キーワードは許可されていません。空の入力キーワードを認識するには、gperf によって生成されたルックアップ関数を呼び出す前に、コードで len == 0 をチェックする必要があります。
バージョン: GNU gperf 3.0.1 なぜ?