apache APR 简介摘要
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开 发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,不过由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如 Flood loader tester(http://httpd.apache.org/test/flood/,该项目用于服务器压力测试,不仅仅适用于Apache)、
一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。
apr开发包位于目录${APR}/apr下,主要包含同平台操作系统相关的组件,可以这么理解,它将操作系统的组件封装了起来,例如进程,线程管理,内存管理等等.
apr-util开发包位于目录${APR}/apr-util下,主要包含了一些通用的开发组件,utility是工具的意思,可以理解为一些开发中常用的工具组件,例如xm解析组件,数据库访问组件,字符编码转换等等.
par-iconv包中的文件主要用于实现iconv编码,目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。XPG2 标准中另外定义了一组全新的函式接口ICONV,该接口是一种更广义的字集转换系统。也是一个与本地编码无关的字集转换系统。APR中也支持这种字集转换系统,为此它提供了完整的实现。Apr-iconv正是为此目的而产生。
参考文章:
浙公网安备 33010602011771号