- 论坛徽章:
- 0
|
本帖最后由 印随 于 2010-07-12 19:09 编辑
- SFXHASH * sfxhash_new( int nrows, int keysize, int datasize, int maxmem,
- int anr_flag,
- int (*anrfree)(void * key, void * data),
- int (*usrfree)(void * key, void * data),
- int recycle_flag )
复制代码 对sfxhash_new的参数做一下解释,刚开始我看的时候,代码注释没能让我明白确切的含义,所以有必要解释一下:
nrows:hash表中“桶”的个数
keysize:key的长度,就是说作为hash函数的参数的长度(字节)
datasize:0:表示用户不需要关心data的内存管理,!0表示用户自己管理data内存的申请和释放
anr_flag:是否自动回收节点。当内存达到上限时,把最老旧点重新利用
anrfree():释放函数,返回零,可以重新利用。返回非零,不重新利用最旧节点
recycle_flag:节点不释放,存在在free_list中,加入新节点的时候,直接从free_list中取,而不是malloc |
|