Apache可移植运行时
外观
開發者 | Apache软件基金会 |
---|---|
当前版本 | 1.4.5 |
源代码库 | |
编程语言 | C |
操作系统 | 跨平台 |
类型 | 开发库 |
许可协议 | Apache许可证 2.0 |
网站 | http://apr.apache.org |
Apache可移植运行时( Apache Portable Runtime,简称APR)是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。
最初,APR是作为Apache HTTP服务器的一部分而存在的,但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性。
功能特性
Apache可移植运行时提供的一系列平台无关的功能特性包括:
- 内存管理和内存池功能
- 原子操作(Linearizability)
- 动态库处理
- 文件I/O
- 命令参数解析
- 锁机制(Locking)
- 散列表和数组
- Mmap(mmap)功能
- 网络套接字和协议
- 线程,进程和互斥锁功能
- 共享内存功能
- 时间子程序
- 用户和组ID服务
类似的项目
- Glib provides similar functionality. It supports many more data structures and OS-independent functions, but fewer 进程间通信-related functions. (Glib lacks local and global locking and shared-memory management.)
- NSPR is a cross-platform abstraction library used by the Mozilla project. It is used by another subproject of Mozilla XPFE to provide cross-platform 图形用户界面 (GUI) functionality.
- 自适配通信环境 (ACE) is an object-oriented library written in C++ similar in functionality to APR. It is widely deployed in commercial products[1].
- commonc++ is a cross-platform C++ class library for systems programming, with much of the same functionality as APR.
- POCO is a modern C++ framework similar in concept but more extensive than APR.
- WxWidgets is an object-oriented cross-platform GUI library that also provides abstraction classes for database communication, 进程间通信 and networking functionality.
- Qt, a cross-platform application development framework with similar features, can also foster 图形用户界面 development.
参考文献
- ^ ACE and TAO Success Stories. [2008-07-31].