Skip to content
Surf Wiki
Save to docs
general/apache-software-foundation-projects

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

FieldValue
nameApache Portable Runtime
logo[[File:Apache_Portable_Runtime_Logo.svg250pxAPR Logo]]
developerApache Software Foundation
latest release version1.7.4
latest release date
operating systemCross-platform
programming languageC
genreDevelopment library
licenseApache 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

  1. "Apache Portable Runtime APR 1.7.4 Released".
  2. "Apache Portable Runtime modules". Apache.
  3. "ACE and TAO Success Stories".
  4. [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."
Info: Wikipedia Source

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.

Want to explore this topic further?

Ask Mako anything about Apache Portable Runtime — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This 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