gperf使用:
主要是declarations和keyword部分,如果只是单纯的查找字符串是否存在,则不需要declarations部分,.gperf文件中直接保存哈希表中的所有字符串即可。但是哈希表中一般都是key和value对,这样的要在declaration部分声明一个struct,然后两个%%后是keyword。格式如下: struct KeyValue{ const char * key;//第一个字段必须是const char * int value; //可以有更多的value值 };%%key1,1key2,2key3,3 keyword部分如果首字符为%,该字符串须用双引号括起来,如%key,必须是“%key”。
生成的头文件中有Perfect_Hash的类,类名可以通过-Z选项修改。
类中有Hash函数,默认为hash(),可以通-H选项修改。查找函数是in_word_set(),用-N来修改。-L指定编程语言。