首页 > 编程知识 正文

cc++混合编程,编程培训班

时间:2023-05-04 02:28:24 阅读:221640 作者:792

zlib被设计为一个免费的,通用的,法律上不受限制的-即不受任何专利保护的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用。zlib数据格式本身可跨平台移植。与Unix compress(1)和GIF图像格式中使用的LZW压缩方法不同,zlib中当前使用的压缩方法实际上从不扩展数据。(在极端情况下,LZW可以使文件大小增加一倍或三倍。)zlib的内存占用空间也与输入数据无关,并且可以在必要时减少压缩量,从而减少了输入数据

http://www.zlib.net/https://github.com/madler/zlib centos + clion 环境

当前系统:centos7
编译器: clion

准备 yum -y install zlib* 测试

1、创建一个工程

2、CMakeLists.txt

cmake_minimum_required(VERSION 3.16)project(llibz)set(CMAKE_CXX_STANDARD 11)add_executable(llibz main.cpp)target_link_libraries (${PROJECT_NAME} libz.a)

3、main.cpp

#include <stdio.h>#include "zlib.h"int main(){ //原始数据 const unsigned char strSrc[]="hello world!n aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试 aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试"; unsigned char buf[1024]={0},strDst[1024]={0}; unsigned long srcLen=sizeof(strSrc),bufLen=sizeof(buf),dstLen=sizeof(strDst); printf("Src string:%snLength:%dn",strSrc,srcLen); //压缩 compress(buf,&bufLen,strSrc,srcLen); printf("nAfter Compressed Length:%dn",bufLen); printf("Compressed String:%sn",buf); //解压缩 uncompress(strDst,&dstLen,buf,bufLen); printf("nAfter UnCompressed Length:%dn",dstLen); printf("UnCompressed String:%sn",strDst); return 0;}

qt + win10 当前环境 win10qt5.14.0 测试

1、新建一个工程

2、在untiled.pro中加:

LIBS += -lkdcdq

3、main.cpp修改为:

#include "mainwindow.h"#include <libssh2.h>#include <QApplication>#include <zlib.h>//c++ zlibvoid Test1(){ //原始数据 const unsigned char strSrc[]="hello world!n aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试 aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试"; unsigned char buf[1024]={0},strDst[1024]={0}; unsigned long srcLen=sizeof(strSrc),bufLen=sizeof(buf),dstLen=sizeof(strDst); printf("Src string:%snLength:%dn",strSrc,srcLen); //压缩 compress(buf,&bufLen,strSrc,srcLen); printf("nAfter Compressed Length:%dn",bufLen); printf("Compressed String:%sn",buf); //解压缩 uncompress(strDst,&dstLen,buf,bufLen); printf("nAfter UnCompressed Length:%dn",dstLen); printf("UnCompressed String:%sn",strDst); fflush(stdout);}int main(int argc, char *argv[]){ QApplication a(argc, argv); Test1(); MainWindow w; w.show(); return a.exec();}

4、运行效果

中文乱码待解决

参考

Qt文档档案
Windows VS2017 编译 libssh2 1.7.0(执行命令、文件上传、下载)
MinGW环境libssh2安装

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。