- Apache Portable Runtime
Infobox Software
name = Apache Portable Runtime
caption =
developer =Apache Software Foundation
latest release version = 1.3.2
latest release date = release date|2008|06|17
latest preview version =
latest preview date =
operating system =Cross-platform
programming language = C/C++
genre = Development Library
license =Apache License 2.0
website = http://apr.apache.orgThe Apache Portable Runtime (APR) is a supporting library for the Apache
web server . It provides a set ofAPI s that map to the underlying operating system. Where the OS doesn't support a particular function, APR will provide a replacement. Thus, the APR can be used to make a program truly portable across platforms.APR was originally a part of Apache, but has now been spun off into a separate project of the
Apache Software Foundation , and is used by other applications to achieve platform independence.The range of platform-independent functionality provided by APR includes:
*
Memory allocation andmemory pool functionality
*Atomic operations
* Dynamic library handling
* FileI/O
* Command argument parsing
* Locking
*Hash table s andarray s
*Mmap functionality
* Network sockets and protocols
* Thread, process and mutex functionality
*Shared memory functionality
* Time routines
* User and group ID servicesInstallation
A very simple tutorial that explains how to compile and install Apache Portable Runtime (apr) on Linux can be found [http://www.techsww.com/tutorials/libraries/apr/installation/installing_apache_portable_runtime_library_on_ubuntu_linux.php here] .
Similar projects
*
Glib provides similar functionality. It supports many more data structures and OS-independent functions, but fewer IPC-related functions (local and global locking, dynamic loading, or shared memory management are not provided).
*NSPR is a cross-platform abstraction library used by theMozilla project. It is used by another subproject ofMozilla XPFE to provide cross-platformgraphical 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 [cite web|title=ACE and TAO Success Stories|url=http://www.cs.wustl.edu/~schmidt/ACE-users.html|accessdate=2008-07-31] .
* [http://www.hyperrealm.com/main.php?s=commoncpp commonc++] is a cross-platform C++ class library for systems programming, with much of the same functionality as APR.
*WxWidgets is an object-oriented cross-platform GUI library that also provides abstraction classes for database communication, IPC and networking functionality.
* Qt is a cross-platform application development framework with similar features and can also be used forGUI development.
*SDL is a cross-platform abstraction library formultimedia applications andcomputer game s that provides features such as 2D graphics, timers, sound, joystick and CD-ROM access.External links
* [http://apr.apache.org/ The APR website]
* [http://apr.apache.org/docs/apr/trunk/ The current APR programming documentation]
* [http://apache.org/ The Apache Software Foundation website]
* [http://dev.ariel-networks.com/apr/apr-tutorial/html/apr-tutorial.html APR programming tutorial]
*References
Wikimedia Foundation. 2010.