zlib在windows上的安装:
http://blog.csdn.net/suxinpingtao51/article/details/8626766
zlib的安装:下载后查看makeFile.msc文件
在vs.NET的命令窗口运行cmd,
进入win32\中执行:nmake -f win32/Makefile.msc
zlib的使用方法
所需的头文件和库名称
包含头文件 zlib.h 和 zconf.h 和 zdll.lib(或是zlib.lib)
zlib在程序中压缩buffer缓冲区:
//压缩src压缩到dest中,srclen是原来的长度,destLen是压缩后的长度
//result: =Z_OK成功、Z_MEM_ERROR没有足够的内存,Z_BUF_ERROR目标缓冲不够大
//level: 压缩级别
int compress(byte *dest, ulong *destLen, const byte *src, ulong srcLen);
int compress(byte *dest, ulong *destLen, const byte *src, ulong srcLen, int level);
//将src解压到dest中,srclen是原长度,destlen是解压后的长度
//result: =Z_OK成功、Z_MEM_ERROR没有足够的内存,
// Z_BUF_ERROR目标缓冲不够大,=Z_DATA_ERROR数据出错
int uncompress(byte *dest, ulong *destLen, const byte *src, ulong srcLen);
//计算需要压缩的缓冲区的长度;粗略的计算
ulong compressBound(ulong srcLen);
deflateInit(), deflate(), deflateEnd() 内部进行压缩
inflateInit(), inflate(), inflateEnd() 内部进行解压
gz开头的函数,是用来操作*.gz文件和stdio的函数类似,
其实只要有compress和uncompress两个函数就足够用了
unsigned char pchSrc[] = "xxx...." ;
unsigned long nSrcLen = sizeof(pchSrc);
//压缩之后的数据要存储的缓冲区
unsigned char achComp[1024];
unsigned long nCompLen = 1024;
//解压缩之后的数据存储的缓冲区
unsigned char achUncomp[1024];
unsigned long nUncompLen = 1024 ;
//将原始数据压缩到压缩缓冲内
compress(achComp,&nCompLen, pchSrc,nSrcLen);
//将压缩的数据解压到解压缓冲区内
uncompress(achUncomp,&nUncompLen, achComp,nCompLen);
//显示原始数据信息
printf("原始数据(%d):\n%s\n\n", nSrcLen,pchSrc);
//显示压缩之后的数据
printf("压缩数据(%d):\n%s\n\n", nCompLen,achComp);
//显示解压缩之后的数据
printf("解压数据(%d):\n%s\n\n", nUncompLen,achUncomp);
========================================================================================================================================
把 pci8501.dll拷贝到 bcb6\bin 下
然后在控制台下进入 bcb6\bin 目录
implib -a pci8501.lib pci8501.dll
如果没有错误 会生成一个 pci8501.lib
这个 lib 是可以在 bcb 下用的
http://www.base2ti.com/?id=delphi.zlib 下载 1.2.3 for Delphi 7 / BCB6 的版本.
库添加到c++ builder 6.0的工程中
1) 打开一个c++ builder的project
2) Project中添加openssl的include directory和libraries directory:
Project->Option->Directories/Conditionals选项中,在Include path下添加目录
3) 在project中添加 libraries:
在Project->add to project中添加.lib文件(DelphiZLib.lib)
http://bbs.csdn.net/topics/310185055
implib -a zlib.lib zlib.dll
zconf.h第268行
将
# define Bytef Byte FAR
改为:
# define Bytef unsigned char FAR
把268行改成:
1 | #define Bytef unsigned char FAR |
1 | typedef unsigned char FAR Bytef; |
点击(此处)折叠或打开
- 1、在网站http://www.zlib.net/中下载了Zlib.dll,上面提供了四个,我下载的是:
- “zlib compiled DLL, version 1.2.3, zipfile format (79K, MD5 checksum cc7fa97f9c19386bb701acc79d0abbca)”
- 2、解压缩,得到文件夹及文件为:include文件夹(包括zconf.h,zlib.h文件),lib文件夹(包括zdll.exp,zdll.lib,zlib.def文件),test文件夹(包括example_d.exe,minigzip_exe,testzlib_d.exe,untgz_d.exe文件),以及四个文件DLL_FAQ.txt,README.txt,USAGE.txt和zlib1.dll文件。
- 3、利用C++Builder6的implib.exe将步骤2中的zlib1.dll转换为zlib.lib
- 4、将步骤2中的include文件夹中的zconf.h,zlib.h文件放到CB的安装目录“..\CBuilder6\Include\”下,自己建立了一个Zlib文件夹存放,便于查找,即最后的存放目录为“..\CBuilder6\Include\Zlib\zconf.h”以及“..\CBuilder6\Include\Zlib\zlib.h”。同理,将步骤3中生成的zlib.lib存放为“..\Borland\CBuilder6\Lib\Zlib\zlib.lib”下。
- 5、新建CB工程。在Project-Options-Directories/Conditions中分别将“..\CBuilder6\Include\Zlib”添加到Include Path中,以及将“..\Borland\CBuilder6\Lib\Zlib”添加到Library Path中。
- 6、利用Project-Add to Project将“..\Borland\CBuilder6\Lib\Zlib\zlib.lib”文件添加到当前工程中。
- 7、在unit1.cpp里添加#include "zlib.h",编辑运行
zlib本就是c的东西。 先去http //www gzip org/zlib/下在最新的zlib的库 下载好在本机编译一下。 先bcc32 -c -O2 -6 -w-8004 -w-8057 -w-8012 *.c //编译 再tlib zlib.lib +adler32.obj +.... //生成lib文件 依次加上刚才编译生成的obj文件 注意minigzip.obj 和 example.obj 不要加进去。那是测试用的。不是zlib库!!! 生成好zlib.lib后就可以使用了。 在目录里会有zlib.h 使用时include "zlib.h" 再在工程里加上zlib.lib 这样就可以直接使用zlib库的函数了。 这里有一个使用zlib库的简单的例子。你可以看一下。 http //www cnxbb com/bcb/C++ZlibTest.rar