Gzip简介及命令行参数导读 吴廷鹏 060912.

Slides:



Advertisements
Similar presentations
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
Advertisements

证券市场法律制度与监督管理 作者:张学亮.
C语言程序设计 主讲教师 :张群燕 电话:
我怀念的乡村记忆 陈秀华 社会工作0841.
沟通技巧 主讲:涂育俊.
纳税人学堂课件天地第201509期 高新技术产业税收优惠政策培训 授课老师:周晶 上海市嘉定区国家税务局
律师公司业务实务 北京市嘉润道和律师事务所 龚志忠 2011年10月21日.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
2010年,全世界约有盲人4000万到4500万,低视力者是盲人的3倍,约1.4亿人
補充: Input from a text file
中交天津航道局有限公司 党委工作部 陈晓敏 2012年11月5日
Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
J2EE与中间件技术 ——Lab.
複習 struct score_Type{ int chinese,english; }; struct my_Type{
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
Hadoop I/O By ShiChaojie.
第二讲 搭建Java Web开发环境 主讲人:孙娜
第十一章 文件 文件概述 文件操作 文件操作实例 本章小结 作业: 练习:
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
SOA – Experiment 3: Web Services Composition Challenge
SVN服务器的搭建(Windows) 柳峰
走进编程 程序的顺序结构(二).
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Linux操作系统分析 中国科学技术大学计算机系 陈香兰(0512- )
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
壓縮與備份工具.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Windows 7 的系统设置.
《编译原理与技术》 期末复习 计算机科学与技术学院 郑启龙 李 诚 25/12/2018.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第七章 操作符重载 胡昊 南京大学计算机系软件所.
Gzip编译及调试 曹益华
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
SOA – Experiment 2: Query Classification Web Service
提纲 Gzip简介 Gzip命令行参数用法 Gzip各文件的主要功能 Gzip命令行参数处理导读.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
姚金宇 MIT SCHEME 使用说明 姚金宇
實習十 開讀檔練習.
第4章 Excel电子表格制作软件 4.4 函数(一).
3.16 枚举算法及其程序实现 ——数组的作用.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
隨機數 (亂數) 10後,取餘數 n = rand(); 利用 Code::Block 驗證一下 n = rand() %10; 998
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
临界区问题的硬件指令解决方案 (Synchronization Hardware)
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
请添加标题 请添加作者.
Arguments to the main Function and Final Project
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C#快速導讀 流程控制.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
考察点:switch\while\for System.in\Scanner char vs int
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

Gzip简介及命令行参数导读 吴廷鹏 060912

提纲 Gzip简介 Gzip各文件的主要功能 Gzip命令行参数用法 Gzip命令行参数处理导读 实验一

Gzip简介 GZIP是一个用于压缩的工具,比起其他的压缩工具,它有更好的压缩效果并可以获得源码。GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet上使用非常普遍的一种数据压缩格式。 原理 ftp://pb0511:pb0511@202.38.79.124:221/gzip

Gzip各文件的主要功能 Gzip.c: 程序入口 Deflate.c: 实现文件压缩功能的函数集合,提供对文件压缩的支持 Inflate.c: 实现文件解压功能的函数集合,提供对文件解压的支持 Zip.c: 将文件压缩成gzip格式 Unzip: 解压gzip或pkzip格式的文件 Unlzh.c:解压lzh格式的文件 Unlzw.c:解压lzw格式的文件 Unpack.c:解压pack格式的文件

Gzip各文件的主要功能 Bits.c: 提供对位操作的支持 Getopt.c: 提供对参数解析的支持 Trees.c: huffman树相关的操作集合,包括创建新树选择树的类型等 Tailor.c、Tailor.h: 配置文件,用于支持多种编译环境 Util.c: 工具函数集合,包括对缓冲区的操作,错误处理,文件名的处理等。

Gzip各文件的主要功能 Gzip的实现原理分析和文件中各函数的主要功能详解参见 ftp://pb0511:pb0511@202.38.79.124:221/gzip

Gzip命令行参数用法 -a --ascii ascii text; convert end-of-lines using local conventions -c --stdout write on standard output, keep original files unchanged -d --decompress decompress -f --force force overwrite of output file and compress links -h --help give this help -l --list list compressed file contents -L --license display software license -n --no-name do not save or restore the original name and time stamp -N --name save or restore the original name and time stamp -q --quiet suppress all warnings -S .suf use suffix .suf on compressed files -t --test test compressed file integrity -v --verbose verbose mode -V --version display version number -1 --fast compress faster -9 --best compress better

Gzip命令行参数用法 Gzip命令的基本用法: >gzip test.txt 生成test.gz的压缩文件,同时不再保留test.txt >gzip -d test.gz 解压test.gz,生成test.txt文件 基本用法的缺点: 压缩文件覆盖原文件

Gzip命令行参数用法 -c: 不改变原文件,将压缩结果标准输出 >gzip –c test.txt 不改变原文件,同时创建压缩文件 >gzip –c test.txt > test.txz

Gzip命令行参数用法 -f: 覆盖已经存在的输出文件 -l: 给出压缩文件大小及压缩率信息 -L: Gzip的软件许可证信息 -q: 忽略所有的警告提示 -S: 指定压缩文件后缀 -t: 测试压缩文件的完整性 -v: 给出文件名和压缩率信息 -V: 给出Gzip的版本信息 -1: 快速压缩模式 -9: 最佳压缩模式

Gzip命令行参数处理导读 程序所在位置: Gzip.c的main函数中。 argc: 参数的个数 argv: 指向字符串的指针数组 >gzip.exe –d –N test.txz 0 1 2 3 集成环境中输入的第一个参数是argv[1] int main (argc, argv) int argc; char *argv[];

Gzip命令行参数处理导读 basename是util.c中的函数,用于取文件名 progname=basename(“d:\gzipproj\gzip.exe”); progname值为”gzip.exe” progname = basename(argv[0]); proglen = strlen(progname); /* Suppress .exe for MSDOS, OS/2 and VMS: */ if (proglen > 4 && strequ(progname+proglen-4, ".exe")) { progname[proglen-4] = '\0'; }

可选参数的提取: getopt_long() 可选参数对程序的影响:变量值的改变 while ((optc = getopt_long (argc, argv, "ab:cdfhH?lLmMnNqrS:tvVZ123456789", longopts, (int *)0)) != EOF) { switch (optc) { case 'c': to_stdout = 1; break; case 'd': decompress = 1; break; case 'h': case 'H': case '?': help(); do_exit(OK); break; case 'l': list = decompress = to_stdout = 1; break; case 'L': license(); do_exit(OK); break; case 'N': no_name = no_time = 0; break; case 'q': quiet = 1; verbose = 0; break; …… } 可选参数的提取: getopt_long() 可选参数对程序的影响:变量值的改变 >gzip.exe –d –N –q test.txz 解析命令行参数的具体细节可参Getopt.c中函数_getopt_internal()的注释部分

实验一 目的 1.熟悉VC、BC等编程环境,学会单步跟踪、调试自己的程序; 2.了解project的创建、使用以及意义; 3.熟练定义含指向结构体自身的指针域的结构体类型 4.熟练使用C中的动态分配与释放函数(malloc, realloc, free); 5.熟悉带参数的main函数的编写与运行; 6.类C的引用参数在C中的变换处理; 7.利用输入导向,从文件中获取输入数据。 8.深入理解线性表的特性,掌握它在不同存储结构、不同约定下,其 本操作的实现方法与差异

实验内容 下载Gzip的源代码,选择一个C开发工具,编译运行Gzip 下载ch2.rar并阅读其中的代码。利用ch2.rar中的内容完成自己的实验。 阅读《数据结构题集》P79 1.2约瑟夫环,理解约瑟夫环的定义。编写一个程序,该程序根据输入的命令行参数创建一个单循环链表表示的约瑟夫环,然后输出约瑟夫环出列的顺序。 命令行格式: 〈可执行程序名〉〈人数n〉〈初始的报数上限m〉〈密码1〉 …… 〈密码n〉

Thanks!