我正在玩zlib
,在阅读zlib_how之后,我还有几个问题。据我了解,应该在调用任何deflateInit
之前先调用deflate()
,但是当我打算多次重复使用同一流时会发生什么呢?
我是否应该在每次压缩完成后都调用deflateEnd
,然后在每次调用压缩时都重新调用deflateInit
并附加调用?内部缓冲区动态分配又如何呢?
我看到init和end malloc / free很多,是否可以通过在两次调用之间重用内部缓冲区的方式对其进行配置?
最佳答案
为了避免不必要的deflateReset()
和deflateEnd()
,应使用deflateInit()
而不是free()
后跟malloc()
。
您还应该阅读zlib.h中的文档,在该文档中您会发现这一点。