使用zlib
时,可以处理deflate()
和inflate()
的最小和最大输入缓冲区大小是多少?
最佳答案
最小缓冲区大小为0。关于最大缓冲区,请参见zlib FAQ:
zlib可以处理大于4 GB的数据吗?
是。 inflate()
和deflate()
将正确处理任何数量的数据。每次调用inflate()
或deflate()
都限于输入和输出的最大值的块,这些块可以以编译器的“ unsigned int”类型存储,但是对块的数量没有限制。但是请注意,strm.total_in
和strm_total_out
计数器可能限制为4 GB。这些计数器是为方便起见而提供的,inflate()
或deflate()
在内部不使用。每次调用inflate()
或deflate()
后,应用程序都可以轻松地设置自己的计数器,使其计数超过4 GB。