November 19, 2012

quicklz 接口函数

翻译自quicklz c手册 /////////////////////////////////////////// 压缩函数: size_t qlz_compress( const void *source,  char *destination,  size_t size,  qlz_state_compress *state_compress) source,源字符地址 destination,压缩后的数据存储起始地址,其大小至少为size+400字节 size,需要压缩的源字符串长度,必须在1到2^32-1之间 qlz_state_compress在quicklz.h中定义,用于压缩算法过程中的临时状态存储 注意qlz_state_compress结构体非常庞大,因此不应该在函数局部定义,以防止产生栈溢出。 解压函数: size_t qlz_decompress( const char *source,  void *destination,  qlz_state_decompress *state_decompress) 解压source并将解压结果写入到destination中。 size_t qlz_size_compressed(const char *source) 获取压缩数据的大小, int qlz_get_setting(int settings) 用于获取quiklz的设置信息,根据传参来决定 0 QLZ_COMPRESSION_LEVEL 1 sizeof(qlz_state_compress) 2 sizeof(qlz_state_decompress) 3 QLZ_STREAMING_BUFFER 6 1 if QLZ_MEMOMRY_SAFE is defined, otherwise 0 7 […]