- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在以“迂腐”的方式使用 zlib 时,我偶然发现了一些不一致的地方,我想自己解决。
对于 inflateInit()
,手册指出:
... The fields
next_in
,avail_in
,zalloc
,zfree
andopaque
must be initialized before by the caller.
但在下一段中:
... So
next_in
, andavail_in
,next_out
, andavail_out
are unused and unchanged.
换句话说,手册要求在调用inflateInit()
之前初始化next_in
和avail_in
,但同时,它声明无论如何都不会使用它们。这是为什么?在我的例子中,我试图让它们都保持未初始化和初始化为零而没有问题,直到在调用 deflate()
之前进行真正的准备。但严格来说,这违反了手册,除非“必须初始化”意味着我可以将它们初始化为零。但那又何必呢?
请注意,deflateInit()
没有这样的要求:
... The fields
zalloc
,zfree
andopaque
must be initialized before by the caller.
为什么不对称?
最佳答案
有人认为 inflateInit()
可以利用压缩数据头中的信息进行初始化。所以接口(interface)要求是初始化next_in
和avail_in
。正如描述所指出的,使用短语“当前版本”和“当前实现”,此类初始化被推迟到 inflate()
的调用。 zlib 的 future 版本可能会做一些不同的事情。 (虽然我怀疑它会。)
向 deflateInit()
提供输入数据没有看似合理的好处,因此不对称。
关于compression - Zlib deflate/inflate 适当的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70910833/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!