Apache draagbare runtime - Apache Portable Runtime
| Ontwikkelaar(s) | Apache Software Foundation |
|---|---|
| Stabiele vrijlating | 1.7.0 / 5 april 2019
|
| Opslagplaats | |
| Geschreven in | C |
| Besturingssysteem | Cross-platform |
| Type | ontwikkeling bibliotheek |
| Vergunning | Apache-licentie 2.0 |
| Website | april |
De Apache Portable Runtime ( APR ) is een ondersteunende bibliotheek voor de Apache -webserver . Het biedt een reeks API's die worden toegewezen aan het onderliggende besturingssysteem (OS). Als het besturingssysteem een bepaalde functie niet ondersteunt, biedt APR een emulatie. Zo kunnen programmeurs de APR gebruiken om een programma echt draagbaar te maken op verschillende platforms.
APR was oorspronkelijk een onderdeel van Apache HTTP Server , maar de Apache Software Foundation heeft het omgezet in een apart project. Andere applicaties kunnen het gebruiken om platformonafhankelijkheid te bereiken.
Functionaliteit
Het scala aan platformonafhankelijke functionaliteit van APR omvat:
- Geheugenbrontoewijzing en geheugen pool functionaliteit
- Atoomoperaties
- Dynamische bibliotheek handling
- Bestand I/O
- Opdracht-argument ontleden
- Vergrendelen
- Hashtabellen en arrays
- Mmap- functionaliteit
- Netwerksockets en protocollen
- Thread- , proces- en mutex- functionaliteit
- Gedeeld geheugen functionaliteit
- Skip lijst functionaliteit
- tijd routines
- Gebruikers- en groeps-ID-services
Vergelijkbare projecten
- GLib - biedt vergelijkbare functionaliteit. Het ondersteunt veel meer datastructuren en OS-onafhankelijke functies, maar minder IPC- gerelateerde functies. (GLib mist lokale en globale vergrendeling en beheer van gedeeld geheugen.)
- Netscape Portable Runtime (NSPR) is een platformonafhankelijke abstractiebibliotheek die wordt gebruikt door het Mozilla- project. Het wordt gebruikt door een ander subproject van het Mozilla-toepassingsframework (XPFE) om platformonafhankelijke grafische gebruikersinterface (GUI)-functionaliteit te bieden.
- Adaptive Communication Environment (ACE) is een objectgeoriënteerde bibliotheek die is geschreven in C++ en qua functionaliteit vergelijkbaar is met APR. Het wordt veel toegepast in commerciële producten.
- commonc++ is een platformonafhankelijke C++- klassebibliotheek voor systeemprogrammering, met veel van dezelfde functionaliteit als APR.
- POCO is een modern C++-framework dat qua concept vergelijkbaar is, maar uitgebreider is dan APR.
- WxWidgets is een objectgeoriënteerde, platformonafhankelijke GUI-bibliotheek die ook abstractieklassen biedt voor databasecommunicatie, IPC en netwerkfunctionaliteit.
- KDE Frameworks – gebruikt door KDE SC