Apache可移植运行时

Apache可移植运行时（Apache Portable Runtime，简称APR）是Apache HTTP服务器的支持库，提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能，APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。

最初，APR是作为Apache HTTP服务器的一部分而存在的，但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性。

功能特性 
Apache可移植运行时提供的一系列平台无关的功能特性包括：

 内存管理和内存池功能
 原子操作（Linearizability）
 动态库处理
 文件I/O
 命令参数解析
 锁机制
 散列表和数组
 功能
 网络套接字和协议
 线程，进程和互斥锁功能
 共享内存功能
 时间子程序
 用户和组ID服务

类似的项目 
 Glib提供类似的功能特性。 支持更多的数据结构和操作系统无关的函数，但进程间通信相关的函数要少一些（Glib缺少本地和全局锁机制以及共享内存管理）。
 （NSPR）是Mozilla项目所使用的跨平台抽象库。也被Mozilla应用程序框架（XPFE）的其他子项目所使用，以提供跨平台图形用户界面（GUI）功能特性。
 自适配通信环境 （ACE）是用C++编写的功能与APR相似的面向对象库，广泛应用于商业产品。
 commonc++ 是系统编程的跨平台C++类库，具有许多与APR的相同的特性。
 是概念上与APR类似的现代C++框架，但比APR具有更好的扩展性。
 WxWidgets是面向对象的跨平台GUI库，也提供数据库通讯，进程间通信和网络的抽象类。
 Qt是具有类似功能的应用开发框架, 同时支持图形用户界面开发。

参考文献

外部链接 
 
 Apache软件基金会网站
 APR编程教程

Apache软件基金会
应用程序接口