Apache可移植运行时
外观
開發者 | Apache Software Foundation |
---|---|
当前版本 | 1.4.5 |
源代码库 | |
编程语言 | C |
操作系统 | Cross-platform |
类型 | Development Library |
许可协议 | Apache License 2.0 |
网站 | http://apr.apache.org |
Apache可移植运行时( Apache Portable Runtime,简称APR) is a supporting library for the Apache Web服务器. It provides a set of APIs that map to the underlying operating system (OS). Where the OS doesn't support a particular function, APR will provide an emulation. Thus programmers can use the APR to make a program truly portable across platforms.
APR originally formed a part of Apache HTTP服务器, but the Apache软件基金会 spun it off into a separate project. Other applications can use it to achieve platform independence.
功能特性
The range of platform-independent functionality provided by APR includes:
- Memory allocation and memory pool functionality
- Atomic operations
- Dynamic library handling
- File I/O
- Command-argument parsing
- Locking
- Hash tables and arrays
- Mmap functionality
- Network sockets and protocols
- Thread, process and mutex functionality
- Shared memory functionality
- Time routines
- User and group ID services
类似的项目
- Glib provides similar functionality. It supports many more data structures and OS-independent functions, but fewer IPC-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 graphical user interface (GUI) functionality.
- Adaptive Communication Environment (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, IPC and networking functionality.
- Qt, a cross-platform application development framework with similar features, can also foster GUI development.
参考文献
- ^ ACE and TAO Success Stories. [2008-07-31].