最新版的lzma sdk可以去SourceForge上面获取,具体地址为点击打开链接
我用lzma sdk主要是为了用来压缩和解压文件用的,其实适当的用法可以用来制作安装包,因为安装包也是一种能自己解压的压缩文件,其实也叫自解压压缩包,使用一些知名的压缩软件都有这些功能,当然,界面也是单调的,想要自定义安装界面只能自己压缩和解压,然后界面自己定义了。
好了,废话不多说,上主菜吧,lzma sdk的使用:
我在官网下载的最新版lzma sdk 15.12,也是最近更新的版本,解压之后有如下文件:
不要被这么多文件吓到了,其实主要用到的也只是C那个文件夹里面的东西,C文件夹里面主要放的是lzma sdk的算法实现,当然Asm文件夹里面也是放的算法实现,不过是用汇编实习的,这个博客主要是介绍C\C++使用lzma sdk,所有直接用C那个文件夹里面的,进入C文件夹主要有如下文件:
像这些基本上都给你实现和封装好了,直接等你去用就行了,很简单的,主要用的的函数定义在LzmaLib.h里面,实现在LzmaLib.c里面。
现在打开LzmaLib.h文件,你会发现只定义了两个函数,一个是压缩函数,一个是解压函数,而且还有对于参数的使用说明。
压缩函数:
MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen,