源码编译
官网下载源码:
使用 cmake 界面版生成VS2019解决方案
打开生成的解决方案 zlib.sln
生成动态库,注意选择需要的版本(debug/release)和平台(x64/x86)
生成静态库,注意选择需要的版本(debug/release)和平台(x64/x86)
生成的 .lib 或者 .dll 后面带d的为debug版
简单测试(静态库):
需要用到的 zlibstaticd.lib
以及头文件
#include <iostream>
#include "include/zlib/zlib.h"
#ifndef _DEBUG
#else
#ifdef _WIN64
#pragma comment (lib,"lib/x64/Debug/zlibstaticd.lib")
#else
#pragma comment (lib,"lib/x86/Debug/zlibstaticd.lib")
#endif // _WIN64
#endif
int main()
{
const char* src = "Test Zlib!";
uLong src_len = strlen(src) + 1;
uLong dstLen = 0x100;
Bytef dst[0x100] = { 0 };
int res = compress(dst, &dstLen, (const Bytef *)src, src_len);
uLong src_ex_len = 0x100;
char src_ex[0x100] = { 0 };
res = uncompress((Bytef*)src_ex, &src_ex_len, dst, dstLen);
}
源数据:
压缩数据(789C为原生zlib压缩的标志):
解压缩数据: