首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
7z文件格式及其源码的分析(五)
】的更多相关文章
7z文件格式及其源码的分析(五)
这是7z文件格式及其源码的分析系列的第五篇. 上一篇讲到了7z文件压缩流程.最近太忙了,好久没更新,都快忘了写到哪了.:) 这一篇就说说7z文件的尾头的生成方式吧. 上一篇已经讲了尾header的结构了.它其实就是记录了压缩文件详细信息. 那么尾header是如何存储的呢? 先看一个图: 这是整个7z文件的结构. 最后面的绿色“尾文件头” 就是我们要说的目标. 7z的尾文件头有两种存储方式. 第一, 最简单的, 就是把尾文件头的内容直接写在后面, 不做任何处理. 这种方式最简单,但是却最不常…
7z文件格式及其源码的分析
7z文件格式及其源码的分析 本文是一个系列. 主要是分享我最近一年做7z文件开发的经验. 主要包括7z官方源码的结构分析, 以及7z文件格式的分析. 其中涉及到7z源码结构的各个细节, 以及7z文件格式的具体细节. 本文适合对象: 想要了解学习7z源码的开发人员, 想要了解7z文件格式细节, 做7z文件压缩器和解压器的开发人员, 以及其他压缩文件爱好者等等. 目前7z的最新稳定版是9.20, 而9.30版本还在alpha版本. 所以本文是基于其9.20版本. 我将尽可能详细的描述所有细节, 但…
7z文件格式及其源码的分析(四)
这是7z文件格式及其源码的分析系列的第四篇. 上一篇讲到了7z文件静态结构的尾header部分.这一篇开始,将从7z实际压缩流程开始详细介绍7z文件尾header的详细结构. 一, 第一个概念: coder. 在7z的压缩过程中, 一个非常核心的概念就是coder. 一个coder代表一个算法, 通常是指一个压缩或解压算法(也包括过滤算法和加密算法等). 例如, 在7z中lzma算法就是一个coder, deflate算法也是一个coder. 7z中用于加密的AES256算法也是一个cod…
7z文件格式及其源码的分析(三)
上一篇在这里. 这是7z文件格式分析的第三篇, 相信有了前两篇的准备,你已经了解了7z源码的大致结构, 以及如何简单调试7z的源码了. 很多同学是不是迫不及待想要拔去7z的神秘外衣,看看究竟了. 好, 这就带你们一探乾坤. 本文开始,我们详细介绍7z的文件存储结构. 要了解7z的结构, 当然最好从官方的说明开始, 尽管这个说明非常简略, 但它的确是我入门时的救命稻草. 打开源码的 "DOC" 目录. 这里面就是官方所有的文档了. 其中只有二个文档跟结构相关: 1. 7zForma…
7z文件格式及其源码的分析(二)
这是第二篇, 第一篇在这里: 这一篇开始分析7z的源码结构. 一. 准备工作: 1. 源码下载: 可以从官方中文主页下载:http://sparanoid.com/lab/7z/. 为了方便, 这里直接给出下载链接: http://downloads.sourceforge.net/sevenzip/7z920.tar.bz2 . 2. 工具准备: 源码中给的工程文件都是vc6.0的工程. 作者说他不喜欢新vs的界面. 哎. 不过没关系, 我们使用VS2008也一样可以. 有极少地方需要修改…
7z文件格式及其源码
7z文件格式及其源码的分析(四) 这是7z文件格式及其源码的分析系列的第四篇. 上一篇讲到了7z文件静态结构的尾header部分.这一篇开始,将从7z实际压缩流程开始详细介绍7z文件尾header的详细结构. 一, 第一个概念: coder. 在7z的压缩过程中, 一个非常核心的概念就是coder. 一个coder代表一个算法, 通常是指一个压缩或解压算法(也包括过滤算法和加密算法等). 例如, 在7z中lzma算法就是一个coder, deflate算法也是一个coder. 7z中用于加…
7z文件格式及其源码linux/windows编译
7z文件格式及其源码的分析(二) 一. 准备工作: 1. 源码下载: 可以从官方中文主页下载:http://sparanoid.com/lab/7z/. 为了方便, 这里直接给出下载链接: http://downloads.sourceforge.net/sevenzip/7z920.tar.bz2 . 2. 工具准备: 源码中给的工程文件都是vc6.0的工程. 作者说他不喜欢新vs的界面. 哎. 不过没关系, 我们使用VS2008也一样可以. 有极少地方需要修改一下. 我们使用VS200…
Android版数据结构与算法(五):LinkedHashMap核心源码彻底分析
版权声明:本文出自汪磊的博客,未经作者允许禁止转载. 上一篇基于哈希表实现HashMap核心源码彻底分析 分析了HashMap的源码,主要分析了扩容机制,如果感兴趣的可以去看看,扩容机制那几行最难懂的代码真是花费了我很大的精力. 好了本篇我们分析一下HashMap的儿子LinkedHashMap的核心源码,提到LinkedHashMap做安卓的同学肯定会想到Lru(Least Recently Used)算法,Lru算法就是基于LinkedHashMap来实现的,明白了LinkedHashMap…
手机自动化测试:Appium源码分析之跟踪代码分析五
手机自动化测试:Appium源码分析之跟踪代码分析五 手机自动化测试是未来很重要的测试技术,作为一名测试人员应该熟练掌握,POPTEST举行手机自动化测试的课程,希望可以训练出优秀的手机测试开发工程师. queue 我们先了解一下事件的集中处理方式,参考文章.从这篇文章可以知道,nodejs提供了一个Async库,该库就是用来处理事件的.里面就有这一个queue. 在上一篇文章我们讲到了initQueue,我们这次再来看看: Android.prototype.initQueue = fun…
hadoop之hdfs------------------FileSystem及其源码分析
FileSystem及其源码分析 FileSystem这个抽象类提供了丰富的方法用于对文件系统的操作,包括上传.下载.删除.创建等.这里多说的文件系统通常指的是HDFS(DistributedFileSystem),其实,hadoop处理支持分布式文件系统,还提供了对诸如本地文件系统(LocalFileSystem).FTP文件系统(FTPFIle)的支持. 在这里我们主要介绍一下DistributedFileSystem的创建过程.如下代码: 主要包括两个阶段: 1. 加载配置文件 2. 初始…