正确设置和使用zlib

时间:2016-07-26 10:19:53

标签: c++ zlib

我正在玩zlib,在阅读zlib_how之后,我还有几个问题。据我所知,deflateInit应该在调用任何deflate()之前调用,这是可以的,但当我打算多次重用同一个流时会发生什么?

我应该在每次完成压缩时调用deflateEnd,然后每次调用压缩时重新初始化,并调用deflateInit吗?什么关于内部缓冲动态分配?

我看到init和end malloc / free很多,是否可以这样配置内部缓冲区将在调用之间重用?

1 个答案:

答案 0 :(得分:3)

您应该使用deflateReset()代替deflateEnd(),然后使用deflateInit(),以避免不必要的free()malloc()

您还应该阅读zlib.h中的文档,您可以在那里发现它。