linux apr bezieht sich auf die tragbare Apache-Laufzeitbibliothek und ihr vollständiger englischer Name lautet „Apache portable Runtime-Bibliotheken“. Sie stellt hauptsächlich Anwendungen der oberen Ebene eine unterstützende Schnittstellenbibliothek der unteren Ebene zur Verfügung, die auf mehreren Betriebssystemen verwendet werden kann Plattformen.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
Was ist Linux Apr?
Einführung in Apache Apr
Der Zweck von APR (Apache Portable Runtime Libraries, tragbare Apache-Laufzeitbibliothek) besteht, wie der Name schon sagt, hauptsächlich darin, Anwendungen der oberen Ebene eine Unterstützung auf der unteren Ebene bereitzustellen, die dies kann kann über mehrere Betriebssystemplattformen hinweg verwendet werden. Schnittstellenbibliothek. In frühen Versionen von Apache musste die Anwendung selbst in der Lage sein, die Details verschiedener spezifischer Betriebssystemplattformen zu verarbeiten und unterschiedliche Verarbeitungsfunktionen für unterschiedliche Plattformen aufzurufen.
Mit der Weiterentwicklung von Apache beschloss die Apache-Organisation, diese gemeinsamen Funktionen zu trennen und in einem neuen Projekt zu entwickeln. Auf diese Weise ist die Entwicklung von APR unabhängig von Apache und Apache verwendet nur APR. Derzeit wird APR hauptsächlich von Apache verwendet. Aufgrund der besseren Portabilität von APR haben jedoch auch einige C-Programme, die transplantiert werden müssen, begonnen, APR zu verwenden, z. B. Flood Loader .org/test/flood /, dieses Projekt wird für Server-Stresstests verwendet und gilt nicht nur für Apache), FreeSwitch (www.freeswitch.org), JXTA-C (http://jxta-c.jxta.org, C Version der JXTA-Punkt-zu-Punkt-Plattformimplementierung); Zu den kommerziellen Projekten gehören Blogline (http://www.bloglines.com/), kovalent (http://www.covalent.net) usw.
APR verschiebt die Verarbeitung Mit anderen Worten, sie müssen die spezifische Plattform überhaupt nicht berücksichtigen. Die Schnittstelle für die Anwendungsausführung ist daher grundsätzlich einheitlich Der ursprüngliche Zweck von APR war es nicht, den gesamten in Apache verwendeten Code in einer gemeinsamen Codebasis zusammenzuführen Seine Ziele. Manchmal ist die Verwendung von gemeinsamem Code keine gute Sache. Die Art und Weise, wie eine Anfrage einem Thread oder Prozess zugeordnet wird, ist daher plattformspezifisch, sodass diese Unterscheidung allein nicht abgeschlossen werden kann. Das Ziel von APR ist eine sichere Zusammenführung Alle Funktionen zusammenführen.
Eines der ersten Ziele von APR ist die Bereitstellung einer gemeinsamen, einheitlichen Betriebsfunktionsschnittstelle für alle Plattformen (nicht nur für einige). Dies ist ein sehr bemerkenswertes Ziel, aber natürlich auch ein Unrealistisches Ziel Es ist für uns unmöglich, alle Funktionen aller Plattformen zu unterstützen. Daher bietet APR derzeit nur Unterstützung für alle APR-Funktionen für die meisten Plattformen, einschließlich Win32, OS/2, BeOS, Darwin, Linux usw Um dieses Ziel zu erreichen, müssen Autoren eine Reihe von Feature-Makros (FEATURE MACROS) für Features erstellen, die nicht auf allen Plattformen ausgeführt werden können. Die Definition dieser Feature-Makros ist sehr einfach und wird normalerweise mit dem Parameter APR_HAS_FEATURE festgelegt :
Wenn eine bestimmte Plattform über diese Funktion verfügt, muss dieses Makro auf true gesetzt werden. Beispielsweise verfügen sowohl Linux als auch Windows über speicherzugeordnete Dateien, und APR bietet daher auf diesen beiden Plattformen eine Betriebsschnittstelle , das Makro APR_HAS_MMAP muss gesetzt sein und ap_mmap_* Die Funktion sollte die Festplattendatei in den Speicher abbilden und den entsprechenden Statuscode zurückgeben. Wenn Ihr Betriebssystem die Speicherzuordnung nicht unterstützt, muss APR_HAS_MMAP auf 0 gesetzt werden und alle ap_mmap_*-Funktionen möglicherweise nicht definiert. Der zweite Schritt besteht darin, diejenigen zu warnen, die nicht unterstützte Funktionen im Programm verwenden.
Die derzeit in APR unterstützten Grundtypen umfassen Folgendes:
Tabelle 3-1 Grundtypen, die in APR unterstützt werden
Typname |
Ordnername |
Beschreibung ? |
Datei io | /apr/file_io | |
mmap | /apr/mmap | |
Schlösser | / apr/locks | |
memory | /apr/memory | |
network_ io | /apr/network_io | |
Umfrage | /apr/umfrage | |
Tabelle
|
/apr/tables | |
Prozess | /apr/threadproc | |
Benutzer |
/apr/user |
Benutzer und Benutzergruppe Zeitbetrieb |
string | /apr/strings | String-Operationen |
password | /apr/passwd | Terminal-Passwortverarbeitung |
Verschiedenes | / Apr /misc | Hodgepodge, jeder Apr-Typ, der nicht zum Rest der Klassen gehört, kann darin platziert werden |
shmem | /apr/shmem | gemeinsamer Speicher |
random | /apr/random | Zufallszahlengenerierungsbibliothek |
Das Apr-Projekt von Apache besteht derzeit aus drei Teilen, nämlich apr, apr-util, apr-iconv | apr enthält einige gängige Entwicklungskomponenten, einschließlich mmap, DSO usw. apr-util Dieses Verzeichnis enthält auch einige häufig verwendete Entwicklungskomponenten. Diese Komponenten sind enger mit Apache verwandt als die im Apr-Verzeichnis. Wie Speichersegmente und Speichersegmentgruppen, Verschlüsselung usw. Die Dateien im apr-iconv-Paket werden hauptsächlich zur Implementierung der Iconv-Codierung verwendet. Die meisten aktuellen Transkodierungsprozesse beziehen sich auf native Kodierungen. Vor der Konvertierung müssen Sie in der Lage sein, die lokale Kodierung richtig einzustellen. Wenn also zwei nicht lokale Codes A und B konvertiert werden müssen, ist der Konvertierungsprozess ungefähr A->Lokal und Lokal->B oder B->Lokal und Lokal->A. |
Die neueste Download-Adresse der oben genannten drei Pakete lautet: http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gz http://labs.mop.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz Nach dem Login kopieren | Linux Video Tutorial
Das obige ist der detaillierte Inhalt vonWas ist Linux im April?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!