.A

A Datei

Unix/Linux Static Library (ar archive)
Frage stellen
SCHNELLE ANTWORT

Eine .a-Datei ist eine statische Bibliothek, die auf Unix, Linux und macOS verwendet wird. Sie ist ein ar-Format-Archiv aus kompilierten Objektdateien, das der Linker zur Build-Zeit in dein Programm einbindet. Sie lässt sich nicht wie ein Dokument öffnen - untersuche sie mit „ar t lib.a“ (Mitglieder auflisten) oder „nm lib.a“ (Symbole auflisten). Eine kleine Anzahl von Ada-Compilern verwendet .a auch für Quellcode; ist die Datei Klartext, ist das der Fall.

Entwickler: Unix lineage (ar archiver); GNU binutils on Linux Kategorie: Developerdateien Offener Standard MIME: application/x-archive
VERFÜGBAR AUF Windows macOS Linux
Verwandt: .DO · .MD · .HEX · .XSD

Auf dieser Seite

19k+ Erweiterungen indexiert
Zuletzt geprüft Sep 10, 2026

Nicht sicher, was Ihre Datei ist?

Legen Sie eine beliebige Datei in unseren Identifikator - wir lesen nur die ersten Bytes, um das Format zu benennen.

Datei identifizieren

Was ist das A-Dateiformat?

.a-Dateien enthalten Systembibliotheken, die von Softwareentwicklern verwendet werden. Solche Dateien sind häufig auf Unix-ähnlichen Systemen zu finden - darunter Linux und macOS - während Microsoft-Windows-Systeme .LIB-Dateien für denselben Zweck verwenden. .a-Dateien stellen kompilierte Funktionen und Header bereit, auf die Quelldateien verweisen können. Bibliotheken mit der Endung .a werden allgemein als statische Bibliotheken bezeichnet.

Eine .a-Datei ist technisch gesehen ein ar-Format-Archiv: ein Container, der eine oder mehrere kompilierte Objektdateien (.o) enthält. Unter Linux sind die Mitglieder ELF-Format-.o-Dateien; unter macOS sind es Mach-O-Objekte. Jedes .a-Archiv beginnt mit der 8-Byte-ASCII-Signatur !<arch> gefolgt von einem Zeilenumbruch, was es für Dateiinspektions-Tools erkennbar macht. Du kannst Archivinhalte mit ar t libname.a auflisten und exportierte Symbole mit nm libname.a untersuchen.

Computerprogramme verwenden zwei Arten von Ressourcenbibliotheken: statische und dynamische Bibliotheken. Statische Bibliotheken (.lib oder .a) sind typischerweise größer als dynamische, da ihr Code zur Link-Zeit direkt in das Zielprogramm kompiliert wird. Dynamische Bibliotheken - .SO-Dateien unter Linux, .dylib unter macOS - werden bei der Ausführung eines Programms oder während seiner Ausführung damit verbunden. Programmentwickler können ihren Code so anpassen, dass er mit verschiedenen dynamisch geladenen Bibliotheken funktioniert.

Das ar-Dienstprogramm (Teil von GNU Binutils unter Linux) ist das Standardwerkzeug zum Erstellen und Verwalten von .a-Archiven. Da der Linker nur die benötigten Objektdateien extrahiert, wird ungenutzter Code aus einer statischen Bibliothek nicht in die endgültige ausführbare Datei einbezogen.

Sicherheit

RISIKO: LOW

Eine .a ist Build-Zeit-Daten und nichts, was das Betriebssystem ausführt, sodass sie für Endnutzer kaum ein direktes Risiko darstellt. Für Entwickler ist die Gefahr die Supply-Chain-Vertrauenswürdigkeit: Eine bösartige oder manipulierte statische Bibliothek bindet ihren Code direkt in dein Programm ein - verwende .a-Dateien daher nur aus vertrauenswürdigen SDK-Quellen und überprüfe Prüfsummen und Signaturen. Eine Ada-Quellcode-.a ist reiner Text und harmlos zu öffnen.

Formatdetails

kurz gefasst
VOLLSTÄNDIGER NAMEUnix/Linux Static Library (ar archive)
ENTWICKLERUnix lineage (ar archiver); GNU binutils on Linuxseit ar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
MIME TYPEapplication/x-archive
TYPar-Format-Archiv aus kompilierten Objektdateien (ELF/Mach-O .o-Mitglieder)
STANDARDOffen · lizenzfrei
Diese Erweiterung wird auch verwendet von…
  • Ada-Quellcode-Datei - Einige Ada-Compiler/Projekte verwenden .a (und .ada/.adb/.ads) für reinen Ada-Quelltext - dies ist die Bedeutung, die die veraltete Datenbank erfasste, ist aber weit weniger verbreitet als die statische Bibliothek.
MAGIC BYTES · DATEISIGNATUR
OFFSET
0001020304050607
HEX
213C617263683E0A
ASCII
!<arch>·
Eine .a statische Bibliothek ist ein ar-Format-Archiv und beginnt mit der 8-Byte-Signatur „!<arch>\n“ (21 3C 61 72 63 68 3E 0A). Ihre Mitglieder sind kompilierte Objektdateien (ELF .o unter Linux, Mach-O unter macOS). Dies ist dieselbe Archivfamilie wie eine Windows-.lib. (Eine Ada-Quelldatei, die andere Bedeutung von „.a“, ist reiner Text ohne Signatur.)

Programme zum Öffnen von A-Dateien

Windows2 apps
Microsoft Visual Studio Freemium VS verwendet .lib, nicht Unix-.a. Nützlich nur, wenn die .a Ada-Quellcode ist (als Text bearbeiten) oder über WSL/MinGW für Cross-Builds - kein nativer Opener.
7-Zip Open Source Öffne die .a als Archiv, um Objektmitglieder zu durchsuchen/extrahieren (es ist ein ar-Archiv). Das Verlinken damit erfordert eine passende Toolchain (MinGW/WSL).
macOS2 apps
ar / nm (Xcode command line tools) Kostenlos Dieselbe Toolchain: „ar t lib.a“ / „nm lib.a“. Mitglieder sind Mach-O-Objekte. Installiere mit „xcode-select --install“.
BBEdit / TextEdit Freemium Nur für Ada-Quellcode-.a-Dateien (auch-verwendet-von) - als Klartext öffnen. Eine binäre statische Bibliothek sieht unleserlich aus.
Linux3 apps
binutils (ar / nm / objdump) Open Source „ar t libfoo.a“ listet Mitglieder auf; „nm libfoo.a“ listet Symbole auf; „ar x libfoo.a“ extrahiert die .o-Dateien. Eine .a wird verlinkt, nicht geöffnet.
GCC / Clang (linker) Open Source Verlinke damit während eines Builds: „gcc main.c -L. -lfoo“ bindet libfoo.a in die ausführbare Datei ein.
GVim / any text editor Open Source Nur wenn die .a tatsächlich Ada-QUELLTEXT ist (die auch-verwendet-von-Bedeutung) - dann bearbeite sie wie eine normale Quelldatei.

Technische Details

technische Spezifikation
Dateisignatur„!<arch>\n“ (hex: 21 3C 61 72 63 68 3E 0A) bei Byte-Offset 0
Archivformatar (Unix Archiver) - dasselbe Containerformat unter Linux, macOS und BSD-Systemen
MIME-Typapplication/x-archive
Element-Dateityp (Linux)ELF relocatable object files (.o)
Element-Dateityp (macOS)Mach-O relocatable object files (.o)
Header-Größe pro Element60 Bytes - ASCII-Felder: Name (16 B), Zeitstempel (12 B), UID (6 B), GID (6 B), Modus (8 B), Größe (10 B), End-Markierung (2 B)
Symbol-Index-ElementGNU ar verwendet ein Element namens „/“; BSD/macOS ar verwendet „__SYMDEF“ - ordnet Symbolnamen Mitglieds-Offsets für schnelles Verlinken zu
Namenskonventionlib<name>.a - z. B. libz.a, libssl.a, libpthread.a; das Präfix „lib“ ist für das -l-Flag des Linkers erforderlich
KomprimierungKeine - Mitglieds-Objektdateien werden unverändert und unkomprimiert gespeichert
Verhalten zur Link-ZeitDer Linker extrahiert nur die .o-Mitglieder, die unaufgelöste Symbole erfüllen; ungenutzte Mitglieder werden nicht in die ausführbare Ausgabedatei aufgenommen
Standard-Erstellungswerkzeugar (GNU Binutils unter Linux; LLVM ar / BSD ar unter macOS); Aufruf: ar rcs libname.a file1.o file2.o
Symbol-Inspektionswerkzeugnm - listet exportierte, undefinierte und lokale Symbole auf; z. B. nm libname.a
Inhalts-Inspektionswerkzeugar t libname.a listet Mitglieder auf; ar x libname.a extrahiert sie; objdump / otool disassembliert Mitglieds-Code
Windows-Äquivalent.lib statische Bibliothek (COFF/PE-Format); Windows-Cross-Compiler wie MinGW erzeugen ebenfalls .a-Dateien
Typischer DateigrößenbereichVariiert von wenigen KB (kleine Hilfsbibliothek) bis zu Hunderten von MB (z. B. libclang_rt.a oder ein vollständiges libc.a)
Veröffentlichtar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
Offener StandardJa · lizenzgebührenfrei
Spezifikationen.wikipedia.org

A-Konvertierungen

Community Q&A

von Nutzern gefragt
Schnelle Frage stellen
Holen Sie sich Hilfe von Menschen, die mit A-Dateien arbeiten. Seien Sie konkret - geben Sie Ihr System und die Softwareversion an.
Kein Konto erforderlich · Antworten meist innerhalb eines Tages

Noch keine Fragen - stellen Sie die erste Frage zu A-Dateien.

Häufig gestellte Fragen

Was ist eine .a-Datei?
Unter Linux/macOS ist es eine statische Bibliothek - ein „Archiv“ (ar-Format) aus kompilierten Objektdateien, die der Linker zur Build-Zeit in dein Programm einbindet. Das Windows-Äquivalent ist .lib. (Einige Ada-Compiler verwenden .a auch für Quellcode.)
Wie öffne ich eine .a-Datei?
Du öffnest sie nicht wie ein Dokument - der Linker verwendet sie während eines Builds. Zur Inspektion führe „ar t lib.a“ aus, um Mitglieder aufzulisten, und „nm lib.a“, um Symbole aufzulisten. Wenn die .a tatsächlich Ada-Quellcode ist, öffne sie in einem Texteditor.
Was ist der Unterschied zwischen .a und .so?
Eine statische Bibliothek (.a) wird zur Build-Zeit in deine ausführbare Datei eingebettet, sodass es keine Laufzeitabhängigkeit gibt. Eine gemeinsam genutzte Bibliothek (.so unter Linux, .dylib unter macOS) wird separat zur Laufzeit geladen und von Programmen gemeinsam genutzt.
Ist eine .a dasselbe wie eine Windows-.lib?
Beide verwenden das ar-Archivformat, enthalten aber unterschiedliche Objekttypen (ELF/Mach-O vs. COFF) und sind daher nicht austauschbar. Du kannst eine Linux-.a nicht durch Umbenennung unter Windows verwenden - baue sie für die Zielplattform neu aus dem Quellcode.
Wie extrahiere ich die .o-Dateien aus einer .a-Datei?
Führe „ar x libfoo.a“ (binutils) aus, um seine Objektmitglieder zu extrahieren, oder öffne die .a in 7-Zip, da es sich um ein ar-Archiv handelt.
Meine .a-Datei ist Text, keine Bibliothek - warum?
Dann ist es die andere Bedeutung von .a: Ada-Quellcode. Einige Ada-Compiler verwenden .a (zusammen mit .ada/.adb/.ads). Öffne sie in einem beliebigen Texteditor oder kompiliere sie mit einer GNAT/Ada-Toolchain.

Quellen

1Wikipedia - ar (Unix) archive formaten.wikipedia.org
2GNU binutils - ar documentationsourceware.org

Weiter entdecken

in der Datenbank

Top-Erweiterungen dieser Woche

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.ICSiCalendar data file

Verwandte Erweiterungen

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Kostenlose Datei-Tools

Ein Browser-Dateiidentifikator und Bildkonverter - alles läuft auf Ihrem Gerät.

Toolbox öffnen

Dateierweiterungen A-Z durchsuchen