2013年12月19日 星期四 17:10
大家都说C语言强大而灵活,无所不能,写出来的程序效率高,但如果真的想用C语言完成一个较大规模的项目,就必须得有一套底层的代码库来支持,否则,就有无数的轮子需要重新造,大学的数据结构课本得先翻几遍,如果需要跨平台运行,你还得把各个平台的细小差异全都烂熟于心,然后逐个处理,光想想就够头疼的。
Apache出品的httpd服务器大家都很熟悉吧,可以说是高性能、跨平台服务器程序的典范,其稳定性可以说是几乎无出其右者。Apache把httpd的底层库与上层应用逻辑分离,底层库单独发行,这就是Apache Portable Runtime Library,简称APR。
APR在跨平台方面,支持多种平台,主要有:
UNIX variants
Windows
Netware
Mac OS X
OS/2
APR把很多常用功能都封装好了,内容非常丰富,主要有:
Atomic operations
Dynamic Shared Object loading
File I/O
Locks (mutexes, condition variables, etc)
Memory management (high performance allocators)
Memory-mapped files
Multicast Sockets
Network I/O
Shared memory
Thread and Process management
Various data structures (tables, hashes, priority queues, etc)
APR还有一个兄弟项目是APR-Util,提供了额外更多的内容,比如Memcache客户端和线程池的实现。
APR的当前最新版本是1.5,根据我的实践,APR的API清晰易懂,使用也很方便,推荐大家尝试。
更多信息请参考:
http://www.apache.org/dist/apr/Announcement1.x.html
http://apr.apache.org/docs/apr/1.4/modules.html
http://apr.apache.org/docs/apr-util/1.5/modules.html
Zeuux © 2024
京ICP备05028076号