到官方网站下载的zip,unzip函数库,研究了一会儿,终于研究出结果啦。呵呵~这个zip库好像是现在网上很流行的库嘛。加压解压方便,通过回调函数控制。
不过文档和例子代码都是C语言和其它语言的,我用的汇编语言好像没有代码,那只有自己来整理喽。
zip32.ll和unzip32.dll其实是两个产品,来自 http://www.info-zip.org/ 的开源项目。不过他们留的ftp下载地址里面东西太多,很难找到这两个dll文件 。(反正我是找了很久) 今天研究了zip32,把研究的心得写出来。
zip32库使用的步骤:
1.定义相关的回调函数,回调函数可以有:
printRoutine(pString,len) ;输出回调函数,输出相关信息。例如winrar在加压时会显示正在加压哪些文件,我们就可以在这个函数里实现。
commentsRoutine(pString) ;当我们加压文件时要对这个压缩文件增加注释,我们就把pString里复制成我们想要的字符串,然后返回true,如果不要注释,返回false。
passwordRoutine ;要加密码,需要实现些回调函数。
serviceRoutine ;这个我没有使用过。
2.填充ZIPUSERFUNCTIONS结构体。
填充这个结构体,主要就是把回调函数地址告诉给主程序。
3.调用Zpinit函数。参数为上面这个结构体。
4.填充ZPOPT结构体,设置选项。
5.调用ZpSetOptions函数设置选项,参数就是上面的结构体。
6.调用ZpArchive压缩文件 。这个函数会调用我们刚刚实现的各种回调函数。
zip,unzip的dll函数库,在这儿下载。如果你想自己找的话,可以到官方网站上去下载。