- 浏览: 151307 次
- 性别:
- 来自: 北京
最新评论
文章列表
本文整理自官方使用教程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 ...
- 2013-12-01 00:06
- 浏览 397
- 评论(0)
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 ...
- 2013-12-01 00:06
- 浏览 633
- 评论(0)
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 ...
- 2013-12-01 00:05
- 浏览 511
- 评论(0)
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已经介绍得很详细 ...
- 2013-12-01 00:05
- 浏览 504
- 评论(0)
下面分析test/example.c,它示范了zlib库的各个函数的使用。 下面代码定义要压缩的字符串、压缩时使用的字典、压缩/解压缩的内存分配策略等。
[cpp]
view plaincopyprint?
/*example.c--usageexampleofthezlibcompressionlibrary
*Copyright(C)1995-2006,2011Jean-loupGailly.
*Forconditionsofdistributionanduse,seecopyrightnoticeinzlib.h
*/
/*@(#)$Id$*/
#in ...
- 2013-12-01 00:05
- 浏览 468
- 评论(0)
本文整理自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 ...
- 2013-12-01 00:04
- 浏览 282
- 评论(0)
1、编译zlib库
在Linux下编译比较简单,在源码包中的Makefile.in中有说明。要编译和测试,在命令行下输入./configure; make test,通常会生成静态库(.a)和共享库(.so,类似windows下面的.dll)。如果只想编译成静态库,用./configure --stati ...
- 2013-12-01 00:04
- 浏览 522
- 评论(0)
本文整理自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使用抽象化 ...
- 2013-12-01 00:03
- 浏览 548
- 评论(0)
下面介绍SQLite的一些扩展模块。本文整理自http://sqlite.org/docs.html。1、异步I/O模式
通常,当SQLite写一个数据库文件时,会等待,直到写操作完成,然后控制返回到调用程序。相比于CPU操作,写文件系统是非常耗时的,这是一个性 ...
- 2013-12-01 00:01
- 浏览 521
- 评论(0)
本文整理自http://sqlite.org/malloc.html。
SQLite通过动态内存分配来获取各种对象(例如数据库连接和SQL预处理语句)所需内存、建立数据库文件的内存Cache、以及保存查询结果。我们做了很多努力来让SQLite的动态内存分配子系统可靠 ...
- 2013-11-30 23:56
- 浏览 503
- 评论(0)
1. 引言
像SQLITE这样支持事务的数据库的一个重要特性是“原子提交”。原子提交意味着,一个事务中的所有修改动作要么全都发生,要么一个都不发生。有了原子提交,对一个数据库文件不同部分的多次写操作,就会像瞬间同 ...
- 2013-11-30 23:55
- 浏览 298
- 评论(0)
本文整理自http://sqlite.org/lockingv3.html。
在SQLite中,锁和并发控制机制都是由pager.c模块负责处理的,用于实现ACID(Atomic, Consistent, Isolated和Durable)特性。在含有数据修改的事务中,该模块将确保或者所有的数据修改全部提交,或者 ...
- 2013-11-30 23:54
- 浏览 368
- 评论(0)
1、7种临时文件
内容整理自http://sqlite.org/tempfiles.html。
SQLite的一个不同特性是一个数据库由单个磁盘文件构成。这简化了SQLite的使用,因为移动或备份数据库只要拷贝单个文件即可。这也使得SQLite适合用作应用程序文件格式。 ...
- 2013-11-30 23:54
- 浏览 385
- 评论(0)
本文整理自http://sqlite.org/arch.html。
本文描述SQLite库的体系结构。这些内容对于那些想了解和修改SQLite内部结构的人将会非常有用。在探索前我们先下载源码包sqlite-src-3071400.zip,在其src目录下包含了所有源码文件。注意若要编译 ...
- 2013-11-30 23:53
- 浏览 409
- 评论(0)
本文整理自http://sqlite.org/datatype3.html。
许多SQL数据库引擎(除SQLite之外的各种SQL数据库引擎)使用静态、严格的数据类型。对于静态类型,一个值的数据类型由它的容器,即存储这个值的列来决定。SQLite则使用更加通用的动态 ...
- 2013-11-30 23:53
- 浏览 403
- 评论(0)