`
chinamming
  • 浏览: 151307 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
本文整理自官方使用教程http://xmlsoft.org/tutorial/index.html。 示例文档story.xml如下: [html] view plaincopyprint? <?xmlversion="1.0"?> <story> <storyinfo> <author>JohnFleck</author> <datewritten>June2,2002</datewritten> <keyword>examplek ...
1、Linux/Unix下的编译 内容整理自http://xmlsoft.org/FAQ.html中一些部分。 跟大多数UNIX库一样,libxml2的编译遵循以下“标准”: [plain] view plaincopyprint? gunzip-cxxx.tar.gz|tarxvf-(或者tarxzvflibxml2-xxxx.tar.gz) cdlibxml2-xxxx ./configure--help gunzip -c xxx.tar.gz | tar xvf - (或者tar xzvf libxml2-xxxx.tar.gz) cd lib ...
1、概述 本文整理自官方页面http://xmlsoft.org/。 Libxml2是一个用来解析XML文档的函数库。它用C语言写成,并且能为多种语言所调用,例如C语言, C++, C#, Python, Kylix/Delphi, PHP, Ruby, Pascal, Tcl等。Perl中也可以使用XML::LibXML模块。它最初是为GNOME开发的项目,但现在可以用在各种各样的场合。libXML2代码可移植性非常好,因为它基于标准的ANSI C,并采用MIT许可证。它可以移植到各种各样的系统,包括Linux, Unix, Windows, CygWin, MacOS, Mac ...
1、LZ77压缩算法 Zlib压缩使用LZ77压缩算法的一个变种,关于LZ77压缩算法,可参考两篇文章http://www.cnblogs.com/D-T121/archive/2012/05/02/2479838.html,和http://hi.baidu.com/cekytggeaqbgnoe/item/c4c66e0ae3033b25a1312d65,这两篇文章对LZ77已经介绍得很详细 ...
下面分析test/example.c,它示范了zlib库的各个函数的使用。 下面代码定义要压缩的字符串、压缩时使用的字典、压缩/解压缩的内存分配策略等。 [cpp] view plaincopyprint? /*example.c--usageexampleofthezlibcompressionlibrary *Copyright(C)1995-2006,2011Jean-loupGailly. *Forconditionsofdistributionanduse,seecopyrightnoticeinzlib.h */ /*@(#)$Id$*/ #in ...
本文整理自http://zlib.net/zlib_how.html,在源码包zlib-1.2.7的examples/zlib_how.html中也有。 我们常常疑惑不知道怎么样使用deflate()和inflate()。用户想知道应该在什么时候提供更多输入,什么时候使用更多输出,怎么处理Z_BUF_ERROR,怎么确保处理正确地终止,等等。example目录下有一个简单的例程zpipe.c,示范了使用deflate()和inflate()来把输入文件压缩或解压到输出文件。下面对各行代码进行解释。 我们为需要的定义包含头文件。对stdio.h,要用到fopen(), fread(), fwr ...
1、编译zlib库 在Linux下编译比较简单,在源码包中的Makefile.in中有说明。要编译和测试,在命令行下输入./configure; make test,通常会生成静态库(.a)和共享库(.so,类似windows下面的.dll)。如果只想编译成静态库,用./configure --stati ...
本文整理自zlib.net以及zlib 1.2.7的手册页http://zlib.net/manual.html。 zlib是一套免费、通用、法律上不受限制的无损数据压缩库,可以在任何硬件及操作系统上使用。zlib数据格式可以跨平台移植。不像Unix compress(1)和GIF图像格式中使用的LZW压缩方法,当前zlib中使用的压缩算法不会扩充数据(LZW在极端情况下能使文件大小变为原来2 倍或3倍)。zlib的内存印迹也独立于输入数据,并且在压缩时能够被减小。zlib由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用抽象化 ...
下面介绍SQLite的一些扩展模块。本文整理自http://sqlite.org/docs.html。1、异步I/O模式 通常,当SQLite写一个数据库文件时,会等待,直到写操作完成,然后控制返回到调用程序。相比于CPU操作,写文件系统是非常耗时的,这是一个性 ...
本文整理自http://sqlite.org/malloc.html。 SQLite通过动态内存分配来获取各种对象(例如数据库连接和SQL预处理语句)所需内存、建立数据库文件的内存Cache、以及保存查询结果。我们做了很多努力来让SQLite的动态内存分配子系统可靠 ...
1. 引言 像SQLITE这样支持事务的数据库的一个重要特性是“原子提交”。原子提交意味着,一个事务中的所有修改动作要么全都发生,要么一个都不发生。有了原子提交,对一个数据库文件不同部分的多次写操作,就会像瞬间同 ...
本文整理自http://sqlite.org/lockingv3.html。 在SQLite中,锁和并发控制机制都是由pager.c模块负责处理的,用于实现ACID(Atomic, Consistent, Isolated和Durable)特性。在含有数据修改的事务中,该模块将确保或者所有的数据修改全部提交,或者 ...
1、7种临时文件 内容整理自http://sqlite.org/tempfiles.html。 SQLite的一个不同特性是一个数据库由单个磁盘文件构成。这简化了SQLite的使用,因为移动或备份数据库只要拷贝单个文件即可。这也使得SQLite适合用作应用程序文件格式。 ...
本文整理自http://sqlite.org/arch.html。 本文描述SQLite库的体系结构。这些内容对于那些想了解和修改SQLite内部结构的人将会非常有用。在探索前我们先下载源码包sqlite-src-3071400.zip,在其src目录下包含了所有源码文件。注意若要编译 ...
本文整理自http://sqlite.org/datatype3.html。 许多SQL数据库引擎(除SQLite之外的各种SQL数据库引擎)使用静态、严格的数据类型。对于静态类型,一个值的数据类型由它的容器,即存储这个值的列来决定。SQLite则使用更加通用的动态 ...
Global site tag (gtag.js) - Google Analytics