7z及7zip-cpp最高压缩比的免费开源压缩软件

7z介绍

7z是一种主流高效的压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初由7-Zip实现并采用,但这种档案格式是公有的,并且7-Zip软件本身亦在GNU宽通用公共许可证(GNU LGPL)协议下开放源代码。

7z格式的主要特征包括:

开源且模块化的组件结构:允许使用任何压缩、转换或加密算法。

最高的压缩比:通常使用7-Zip的7z格式能比使用zip格式的压缩文件小30-70%。

强大的AES-256加密:使用256位键钥AES算法加密,键钥由用户提供的暗码进行SHA-256 hash算法得到。

支持超大文件:最大支持到16EB。

Unicode文件名支持。

支持固实压缩:容许内类的档案在用一个串流中压缩,使类似的内容被有效的压缩。

7zip-cpp介绍

7zip-cpp是一个现代化的C++库,它为7-Zip的COM类API提供了一个简单的封装,使开发者能够轻松地在自己的项目中实现文件压缩和解压缩功能。这个项目源自SevenZip++,并经过更新以支持最新的LZMA1801 SDK,并采用现代构建系统CMake进行管理。

7zip-cpp的核心是通过CMake来生成适用于不同Visual Studio版本的构建文件,使项目能方便地与各种环境集成。它包含一个静态库,提供了加载7z.dll的功能,以及创建压缩器、解压器和列表器的类,用于执行压缩、解压和查看压缩包内文件的操作。这些类的使用非常直观,用户可以轻易上手。

在Windows上编译7zip-cpp

图片

安装依赖项:
确保您已经安装了所有必要的依赖项,包括7-Zip SDK(也称为7z.dll和相关的头文件)。这些文件通常可以从7-Zip的官方网站或源代码存储库中找到。

设置构建环境:
您需要一个C++编译器和构建系统来编译源代码。在Windows上,通常使用Microsoft Visual Studio。确保您已经安装了适当版本的Visual Studio,并配置了所需的编译器和工具集。

配置项目:
打开Visual Studio,并创建一个新的C++项目,使用CMake来生成Visual Studio项目文件。在命令行中,导航到包含CMakeLists.txt文件的目录,生成一个Visual Studio解决方案文件(.sln),您可以在Visual Studio中打开它。

配置包含目录和库目录:
在Visual Studio中,需要配置项目的包含目录(以包含7-Zip SDK的头文件)和库目录(以链接到7z.dll或7z.lib)。这通常在项目的属性页中完成。

图片

编译项目:
一旦配置完成,就可以编译项目了。在Visual Studio中,选择“生成”菜单,然后选择“生成解决方案”或按Ctrl+Shift+B。

运行和测试:
一旦编译成功,可以运行生成的可执行文件或库,并进行必要的测试以确保它按预期工作。

图片

安装包及源码下载地址:

https://www.lanzoub.com/b00rn4u48d 密码:7xpb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCIe总线-RK3588 PCIe子系统简介(八)

1.PCIe子系统 RK3588 PCIe子系统如下图所示。总共拥有5个PCIe控制器。PCIe30X4(4L)支持RC和EP模式,其他4个仅支持RC模式。ITS port 1连接PCIe30X4(4L)和PCIe30X2(2L)控制器,PCIe30X4(4L)和PCIe30X2(2L)控制器使用PCIe3.0 PIPE PHY。ITS port 0连接PCIe3…

RIP路由附加度量值(华为)

#交换设备 RIP路由附加度量值 RIP(Routing Information Protocol)路由协议中的附加度量值是指在RIP路由原来度量值的基础上所增加的额外度量值,通常以跳数来表示。这个附加度量值可以是正值,也可以是负值,用于影响路…

关于STM32上用HID HOST调鼠标数据的解析

一、前言 关于这章主要是基于我前面的那篇文章 链接: 关于怎么用Cubemx生成的USBHID设备实现读取一体的鼠标键盘设备(改进版) https://blog.csdn.net/qq_29187987/article/details/139535648?spm1001.2014.3001.5501 引用的文章的简介 引用的这篇文…

数据库概述1

数据:描述事物的符号记录称为数据; 包括数字、图片、音频等; 数据库:长期储存在计算机内有组织、可共享的大量数据的集合;数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数…

STM32学习笔记(一)--时钟树详解

(1)时钟概述;时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波。(时钟相当于单片机的脉搏;STM32本身非常复杂,外设非常的多,为了保持低功耗工作,STM32 的主控默认不…

【Python】深入了解 AdaBoost:自适应提升算法

我们都找到天使了 说好了 心事不能偷藏着 什么都 一起做 幸福得 没话说 把坏脾气变成了好沟通 我们都找到天使了 约好了 负责对方的快乐 阳光下 的山坡 你素描 的以后 怎么抄袭我脑袋 想的 🎵 薛凯琪《找到天使了》 在机器学习的领域中&#x…

算法工程师 | 如何快速 了解,掌握一个算法!脚踏实地,迎着星辰,向前出发 ~

本文是一些碎碎念 希望对正在迈向 算法工程师道路的你 有所裨益 一般来说,代码 中会有很多 算法实现的细节,但论文可能并没有体现,所以能够尝试自己 仔细阅读论文,手动复现代码,基本上来说对 这个 算法 你有了全…

夏季城市环境卫生挑战多:TSINGSEE青犀智慧环卫方案助力城市垃圾站智能管理

一、背景分析 夏季,随着气温的攀升,城市垃圾的数量和种类也随之增加,这给环卫工作带来了极大的挑战。环卫垃圾站点作为城市垃圾处理的重要一环,其管理效率直接关系到城市环境的整洁与卫生。近年来,随着视频监控技术的…

【Redis】Redis常见问题——缓存更新/内存淘汰机制/缓存一致性

目录 回顾数据库的问题如何提高 mysql 能承担的并发量?缓存解决方案应对的场景 缓存更新问题定期生成如何定期统计定期生成的优缺点 实时生成maxmemory 设置成多少合适呢?项目类型上来说 新的问题 内存淘汰策略Redis淘汰策略为什么redis要内存淘汰内存淘…

ESP32 IDF ADF 加入音频

需要把mp3制作成音频bin 用ADF自带工具 果用户需要生成自己的 audio-esp.bin,则需要执行 mk_audio_bin.py 脚本(位于 $ADF_PATH/tools/audio_tone/mk_audio_tone.py),并且指定相关文件的路径。 源 MP3 文件在 tone_mp3_folder …

红黑树(C++)

文章目录 写在前面1. 红黑树的概念及性质1. 1 红黑树的概念1. 2 红黑树的性质 2. 红黑树节点的定义3. 红黑树的插入3.1 按照二叉搜索的树规则插入新节点3.2 检测新节点插入后,红黑树的性质是否造到破坏 4.红黑树的删除5.红黑树的验证6.源码 写在前面 在上篇文章中&…

5.3.1_2 二叉树的层次遍历

👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

c++模板模式

文章目录 模板模式什么是模板模式为什么使用模板模式模板模式实现步骤 示例模板模式优缺点 模板模式 什么是模板模式 模板模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法骨架,将某些步骤的具体实现延…

[DDR4] DDR 简史

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解DDR4》 存和硬盘,这对电脑的左膀右臂,共同扛起了存储的重任。内存以其超凡的存取速度闻名,但一旦断电,内存中的数据也会消失。它就像我们的工作桌面&…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率(E)删除词元(M) 参考资料 概述 接上回,子词词元化(Subwords tokenization)是平衡字符级别和词级别的一种方法,也…

网络通信架构

BS架构/CS架构 使用协议分别对应: TCP / HTTP 在计算机网络和软件开发中,CS架构(Client-Server Architecture,客户端-服务器架构)和BS架构(Browser-Server Architecture,浏览器-服务器架构&am…

云和运维(SRE)的半生缘-深读实证02

这个标题不算太夸张,云计算和很多IT岗位都有缘,但是和运维(SRE)岗位的缘分最深。 “深读实证”系列文章都会结合一些外部事件,点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容: 我以运维…

Matlab电话按键拨号器设计

前言 这篇文章是目前最详细的 Matlab 电话按键拨号器设计开源教程。如果您在做课程设计或实验时需要参考本文章,请注意避免与他人重复,小心撞车。博主做这个也是因为实验所需,我在这方面只是初学者,但实际上,从完全不…

USB2.0高速转接芯片CH347应用开发手册

CH347应用开发手册 V1.3 一、简介 CH347是一款USB2.0高速转接芯片,以实现USB-UART(HID串口/VCP串口)、USB-SPI、USB-I2C、USB-JTAG以及USB-GPIO等接口,分别包含在芯片的四种工作模式中。 CH347DLL用于为CH347芯片提供操作系统端的UART/SPI/I2C/JTAG/B…