C++ 实时显示7z压缩与解压缩的进度
一、7zip下载地址
https://www.7-zip.org/sdk.html
二、nmake编译
下载完后,进入文件夹:
使用VS的命令行工具(nmake)进行编译(命令:nmake /f makefile),在当前目录下生成x86文件夹,里面有本次编译的成果文件:7zra.dll
三、转换示例工程(dsw转vs08)
打开client7z工程,下载下来的是由dsw格式(N年前的格式,真是不懂得与时俱进),将其用vs08打开(vs17版本打开,会转换失败)
四、修改示例代码
打开client7z.cpp,需要修改几处代码:
1、CArchiveExtractCallback 类
2、CArchiveUpdateCallback 类:
3、最后,改为加载刚才编译好的dll名字
#define kDllName "7zra.dll"
4、编译Client7z.sln,得到7zcl.exe,把刚才编译的7zra.dll拷贝到7zcl.exe同目录下
五、通过命令行工具测试
压缩
7zcl a test.7z resource.rc
解压缩
7zcl x test.7z
六,使用bit7z实现解压与进度显示
具体参见文章:https://blog.csdn.net/llmys/article/details/87893606
- 下载bit7z:https://github.com/rikyoz/bit7z
- 下载lzma:https://jaist.dl.sourceforge.net/project/sevenzip/LZMA SDK/lzma1805.7z
- 至于所需要的7z.dll,直接去7z的官网(https://www.7-zip.org/)下载对应版本的dll即可(win32或者x64直接下载类似“7z1900-x64.exe”安装,然后去安装目录下拷贝对应的dll)
C++ 实时显示7z压缩与解压缩的进度相关推荐
- HTML实时显示任务状态,如何监视后台任务进度和完成 (HTML)
如何监视后台任务进度和完成 (HTML) 12/11/2015 本文内容 [ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员.如 ...
- 7z压缩 lzma流式压缩、解压缩的实现 C语言
最近项目中遇到OTA固件升级,压缩由上位机实现,解压缩在boot启动时,读取固件内容后边解压边加载数据的方式启动. 前期预研了三种压缩方案,分别是lz4.zip.7z,代码仓库放在下面,三者各自的原理 ...
- 7z 常用压缩与解压缩命令
本文主要介绍的是使用命令行方式来执行 7z 的 压缩 与 解压缩 所需材料:7z.exe.7z.dll 下载地址:http://www.7-zip.org/ 7z支持格式: 压缩 / 解压缩: 7z, ...
- kali linux解压文件.gz,kali linux 压缩文件解压缩命令(包含7z)
tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压1 ...
- 实时的YcoCg-DXT压缩
实时YCoCg-DXT压缩 JMP van Waveren id Software,Inc. NVIDIA公司 2007年9月14日 ©2007,id Software,Inc. 抽象 引入了高 ...
- 章节6 文件压缩及解压缩
6-文件压缩及解压缩 打包和压缩的区别 打包:多个文件变成一个文件--减少文件个数 压缩:缩小一个文件的体积--减少文件体积 打包 打包/解包 pack/unpack 压缩 压缩/解压 compres ...
- Linux下文件的压缩与解压缩
Linux下文件的压缩与解压缩与Windows环境下有较大的区别,在Windows下只需要安装类似Winrar工具就能解压缩大部分文件,而在Linux命令行下每一种文件都有不同的压缩和解压缩方法. 使 ...
- Linux常用压缩与解压缩命令
.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...
- linux系统打包工具,Linux 压缩、解压缩和打包工具
前言:你是否曾经因为某个文件占用空间较大,而空间紧缺的U盘无法存放此文件.你是否曾经因为软件里有太多文件而不方便复制和携带.你是否曾因需要备份太过零散而头疼.那么基于"文件压缩和打包&quo ...
最新文章
- Hibernate之查询中get()和load()的区别,list()和iterate()的区别
- 几款高压、高阻电阻测试
- pugixml读取unicode编码的xml文件的做法
- html 禁止缩放 ios10,完美解决ios10及以上Safari无法禁止缩放的问题
- 硬盘的转速是什么意思,有什么功能?
- Linux(CentOS)同步时间
- android后台自播放音乐,Android实现后台播放音乐(Service方式)
- 系统架构设计师考试4
- Teams 的逻辑架构与语音解决方案 - Official Posters Download
- c++代码转为go_Go语言学习笔记六--string编码
- 【程序设计】流程图的规范和绘制
- oracle 的自增需要依靠序列和触发器共同实现
- html基本进阶知识【转】
- Jarslink Demo Alibaba(教程 源码)
- 【Webcam设计】相机底层工作流程,编程模型
- 移植oprofile到dm365
- Perl中的执行上下文
- 【转】【深度学习MobileNet】——深刻解读MobileNet网络结构
- 遥感数字图像处理复习(朱文泉)
- 基于nodejs,tinypng的压缩图片工具