我正在考虑使用 7-Zip 格式来打包我的应用程序文件,因为它是一种非常紧凑且流行的格式。不过,我找不到一些关于如何使用 C++ SDK 的教程。我想要一些教程,教我如何:
- 从内存(缓冲区)而不是直接从磁盘打开存档。
- 将存档中的单个文件提取到缓冲区,而不是磁盘。
- 检查是否可以在存档中找到某个文件。
从 LMZA SDK 文档:
ANSI-C LZMA 解码器
~~~~~~~~~~~~~~~~~~~
请注意,在 LZMA SDK 4.58 中更改了 ANSI-C 代码的接口。如果您想使用旧接口,您可以从 sourceforge.net 站点下载以前版本的 LZMA SDK。
要使用 ANSI-C LZMA 解码器,您需要以下文件: 1) LzmaDec.h + LzmaDec.c + Types.h
LzmaUtil/LzmaUtil.c 是使用这些文件的示例应用程序。
示例应用程序应该包含您需要的一切,否则 7-zip 的实际源代码将包含您需要的一切。这里还有一个用于 7-zip 的 C++ 包装器,它应该可以简化许多所需的操作。