From Surf Wiki (app.surf) — the open knowledge base
Apache Portable Runtime
Supporting library for the Apache web server
Supporting library for the Apache web server
| Field | Value | ||
|---|---|---|---|
| name | Apache Portable Runtime | ||
| logo | [[File:Apache_Portable_Runtime_Logo.svg | 250px | APR Logo]] |
| developer | Apache Software Foundation | ||
| latest release version | 1.7.4 | ||
| latest release date | |||
| operating system | Cross-platform | ||
| programming language | C | ||
| genre | Development library | ||
| license | Apache License 2.0 | ||
| website |
The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system (OS). Where the OS does not 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 Server, but the Apache Software Foundation spun it off into a separate project. Other applications can use it to achieve platform independence.
Functionality
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
- Skip list functionality
- Time routines
- User and group ID services
Similar projects
- 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.)
- Netscape Portable Runtime (NSPR) is a cross-platform abstraction library used by the Mozilla project. It is used by another subproject of Mozilla application framework (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.
- 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.
- KDE Frameworks – used by KDE SC
References
References
- "Apache Portable Runtime APR 1.7.4 Released".
- "Apache Portable Runtime modules". Apache.
- "ACE and TAO Success Stories".
- [http://www.internetnews.com/dev-news/article.php/3568241/Stable+Apache+Release+Hits.htm Stable Apache Release Hits], Sean Michael Kerner, 2 December 2005, "Apache Portable Runtime (APR) 1.0 API, which provides libraries that interface between the underlying operating system and the server."
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Apache Portable Runtime — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report