HOME

TheInfoList



OR:

The Apache Portable Runtime (APR) is a supporting library for the
Apache The Apache () are a group of culturally related Native American tribes in the Southwestern United States, which include the Chiricahua, Jicarilla, Lipan, Mescalero, Mimbreño, Ndendahe (Bedonkohe or Mogollon and Nednhi or Carrizaleño a ...
web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initia ...
. 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 The Apache HTTP Server ( ) is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache S ...
, but the
Apache Software Foundation The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the ...
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 In concurrent programming, an operation (or set of operations) is linearizable if it consists of an ordered list of invocation and response events (event), that may be extended by adding response events such that: # The extended list can be re-e ...
* Dynamic
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
handling * File I/O * Command-argument parsing * Locking * Hash tables and arrays * Mmap functionality *
Network sockets A network socket is a software structure within a network node of a computer network that serves as an endpoint for sending and receiving data across the network. The structure and properties of a socket are defined by an application programmin ...
and protocols * Thread, process and mutex functionality * Shared memory functionality * Skip list functionality * Time routines * User and group ID services


Similar projects

*
GLib GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever s ...
– 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 In computing, the Netscape Portable Runtime, or NSPR, a platform abstraction library, makes all operating systems it supports appear the same to (for example) Mozilla-style web-browsers. NSPR provides platform independence for non-GUI oper ...
(NSPR) is a cross-platform abstraction library used by the
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, ...
project. It is used by another subproject of Mozilla application framework (XPFE) to provide cross-platform
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
(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 Poco was an American country rock band originally formed in 1968 after the demise of Buffalo Springfield. Guitarists Richie Furay and Jim Messina, former members of Buffalo Springfield, were joined by multi-instrumentalist Rusty Young, bassis ...
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


External links

* {{Apache Software Foundation Portable Runtime C (programming language) libraries Free computer libraries Free software programmed in C Application programming interfaces Software using the Apache license