1e41f4b71Sopenharmony_ci# zlib 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## 简介 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci[Zlib](https://zlib.net/)是基于C/C++语言实现的一个通用的数据压缩库。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci## 支持的能力 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciZlib库提供了内存中(in-momery)压缩、解压缩数据的能力,使用Deflate算法,可以设置不同的压缩级别,对各种类型的数据均有比较好的压缩效果;提供了对处理器和内存使用控制的能力,如果缓冲区足够大,压缩可以通过一个步骤完成,否则可以通过反复调用压缩接口完成。 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci默认情况下,Zlib接口使用的压缩数据格式是zlib格式([RFC1950](https://www.rfc-editor.org/rfc/rfc1950)),Zlib库还支持使用以“gz”开头的函数接口读取和写入gzip([RFC1952](https://www.rfc-editor.org/rfc/rfc1952))格式的文件。zlib格式的设计目的是在内存和通信通道中使用,紧凑且快速。gzip格式是专为单个文件压缩而设计,其头部比zlib大,以维护目录信息,使用了与zlib不同且较慢的检查方法。 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ciZlib库解码器会检查压缩数据的一致性,因此即使在输入损坏的情况下,库也不应崩溃。 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## 引入zlib能力 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci如果开发者需要使用zlib相关功能,首先请添加头文件: 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci```c 20e41f4b71Sopenharmony_ci#include <zlib.h> 21e41f4b71Sopenharmony_ci``` 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci其次在CMakeLists.txt中添加以下动态链接库: 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci``` 26e41f4b71Sopenharmony_cilibz.so 27e41f4b71Sopenharmony_ci``` 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci## 接口列表 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci详见[Zlib库支持的接口文档](https://www.zlib.net/manual.html)。 32