簡體   English   中英

Zlib deflate/inflate 正確初始化

[英]Zlib deflate/inflate proper initialization

在以“迂腐”的方式使用 zlib 時,我偶然發現了一些我想為自己清除的不一致之處。

對於inflateInit() ,手冊指出:

...字段next_inavail_inzalloczfreeopaque必須由調用者之前初始化。

然而在下一段中:

... 所以next_inavail_innext_outavail_out未使用且未更改。

換句話說,手冊要求在調用inflateInit()之前初始化next_inavail_in ,但同時,它聲明它們無論如何都不會被使用。 這是為什么? 就我而言,我試圖讓它們都未初始化並初始化為零,直到在調用deflate()之前進行真正的准備工作。 但嚴格來說,這違反了手冊,除非“必須初始化”意味着我可以將它們初始化為零。 但是為什么要打擾呢?

請注意, deflateInit()沒有這樣的要求:

...字段zalloczfreeopaque必須由調用方初始化。

為什么不對稱?

有人認為inflateInit()可以利用 header 中的信息進行初始化。 所以接口要求是`next_in

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM