适用于WindowsCE和ARM平台的zLib

时间:2018-05-24 11:48:42

标签: zlib windows-embedded-compact

背景

我正在设计的应用程序(在通过ARM Cortex A8运行的Windows CE7上)通过以太网链接从PC(Windows 64位)接收文件。

这些文件包含使用zLib 1.2.11版(https://zlib.net/)压缩的数据。

在我的设备应用程序中,我必须解压缩文件并处理它们。

  • 我找到了一个用于Windows CE(http://www.tenik.co.jp/~adachi/wince/zlibce/index.html)的zLib端口,但它基于zLib的1.1.4版。在解压缩数据(使用版本1.2.11压缩)时,此修订版本不匹配是否会成为一个问题?
  • 使用zLib源将其构建到可以在ARM Cortex平台上的Windows Embedded上使用的静态库需要哪些步骤?从zLib手册中,我了解到它是一个可以为任何操作系统和硬件平台编译的本机C代码。但是在构建时我遇到了一些可能是为Intel x86编写的汇编代码。对于移植到Windows CE + ARM Cortex平台,还需要转换此汇编代码吗?
  • 如何管理压缩侧和解压缩端的字节顺序差异?更新:我在zLib FAQ中错过了这一部分,它表示字节序的差异不是问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

zlib压缩数据在所有zlib版本中向前和向后完全兼容。

contrib目录中的代码,包括x86和其他汇编程序代码,都是第三方贡献,不属于zlib。你不需要它们。

正如您所发现的,zlib生成并消耗字节,因此没有字节序问题。