千家信息网

zlib 初级应用

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,在这里下载最新的代码,我下载的是zlib-1.2.5.tar.gz。解压后进入zlib-1.2.5文件夹,然后使用以下命令生成库文件./configuremake之后会生成libz.a在该目录下编辑以
千家信息网最后更新 2024年10月24日zlib 初级应用

在这里下载最新的代码,我下载的是zlib-1.2.5.tar.gz。

解压后进入zlib-1.2.5文件夹,然后使用以下命令生成库文件

./configure

make

之后会生成libz.a

在该目录下编辑以下测试代码

  1. #include
  2. #include
  3. #include
  4. #include"zlib.h"
  5. int main()
  6. {
  7. unsigned char uncomp_bytes[100];
  8. uLong uncomp_size;
  9. uLong return_code=0;
  10. unsigned char comp_bytes[100];
  11. uLong comp_size=100;
  12. strcpy(uncomp_bytes,"helloworld");
  13. uncomp_size=strlen(uncomp_bytes);
  14. printf("uncomp_size:%d\n",uncomp_size);
  15. if((return_code = compress((Byte *)comp_bytes,&comp_size,(Byte *)uncomp_bytes,uncomp_size))!=Z_OK )
  16. {
  17. printf("return code:%d\n",return_code);
  18. exit(1);
  19. }
  20. printf("comp_size:%d\n",comp_size);
  21. uncomp_size=100;
  22. if((return_code=uncompress((Byte *)uncomp_bytes,&uncomp_size,(Byte *)comp_bytes,comp_size))!=Z_OK)
  23. {
  24. printf("return code:%d\n",return_code);
  25. exit(1);
  26. }
  27. printf("uncomp_size:%d\n",uncomp_size);
  28. printf("%s\n",uncomp_bytes);
  29. return 0;
  30. }

使用命令:

gcc test.c -o test -lz

输出结果如下:

  1. uncomp_size:10
  2. comp_size:18
  3. uncomp_size:10
  4. helloworld
0