Recent from talks
All channels
Be the first to start a discussion here.
Be the first to start a discussion here.
Be the first to start a discussion here.
Be the first to start a discussion here.
Welcome to the community hub built to collect knowledge and have discussions related to Apache Portable Runtime.
Nothing was collected or created yet.
Apache Portable Runtime
View on Wikipediafrom Wikipedia
| Apache Portable Runtime | |
|---|---|
| Developer | Apache Software Foundation |
| Stable release | 1.7.4
/ April 16, 2023[1] |
| Written in | C |
| Operating system | Cross-platform |
| Type | Development library |
| License | Apache License 2.0 |
| Website | apr |
| Repository | |
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).[2] 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
[edit]The range of platform-independent functionality provided by APR includes: [3]
- 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
[edit]- 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.[4]
- 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
[edit]- ^ "Apache Portable Runtime APR 1.7.4 Released". Retrieved 7 October 2023.
- ^ 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."
- ^ "Apache Portable Runtime modules". Apache. Retrieved 23 September 2023.
- ^ "ACE and TAO Success Stories". Archived from the original on 29 August 2008. Retrieved 2008-07-31.
External links
[edit]Wikibooks has a book on the topic of: Apache Portable Runtime