.A

A-bestand

Unix/Linux Static Library (ar archive)
Stel een vraag
SNEL ANTWOORD

Een .a-bestand is een statische bibliotheek die wordt gebruikt op Unix, Linux en macOS. Het is een archief in ar-formaat met gecompileerde objectbestanden die de linker tijdens het bouwen naar uw programma kopieert. U opent het niet als een document - inspecteer het met „ar t lib.a” (leden weergeven) of „nm lib.a” (symbolen weergeven). Een klein aantal Ada-compilers gebruikt .a ook voor broncode; als het bestand platte tekst is, is dat het geval.

Ontwikkelaar: Unix lineage (ar archiver); GNU binutils on Linux Categorie: Ontwikkelaarsbestanden Open standaard MIME: application/x-archive
OPENT OP Windows macOS Linux
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Sep 10, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het A-bestandsformaat?

.a-bestanden bevatten systeembibliotheken die worden gebruikt door softwareontwikkelaars. Dergelijke bestanden worden vaak aangetroffen op Unix-achtige systemen - waaronder Linux en macOS - terwijl Microsoft Windows-systemen .LIB-bestanden voor hetzelfde doel gebruiken. .a-bestanden bieden gecompileerde functies en headers waarnaar kan worden verwezen door bronbestanden. Bibliotheken met een .a-extensie worden gewoonlijk statische bibliotheken genoemd.

Een .a-bestand is technisch gezien een archief in ar-formaat: een container die een of meer gecompileerde objectbestanden (.o) bevat. Op Linux zijn de leden .o-bestanden in ELF-formaat; op macOS zijn het Mach-O-objecten. Elk .a-archief begint met de 8-byte ASCII-handtekening !<arch> gevolgd door een regeleinde, waardoor het herkenbaar is voor hulpprogramma's voor bestandsinspectie. U kunt de inhoud van het archief weergeven met ar t libname.a en geëxporteerde symbolen inspecteren met nm libname.a.

Computerprogramma's gebruiken twee soorten bronbibliotheken: statische bibliotheken en dynamische bibliotheken. Statische bibliotheken (.lib of .a) zijn doorgaans groter dan dynamische, omdat hun code tijdens het linken rechtstreeks in het doelprogramma wordt gecompileerd. Dynamische bibliotheken - .SO-bestanden op Linux, .dylib op macOS - worden verbonden met een bepaald programma bij de uitvoering ervan of tijdens de uitvoering van het programma. Programmaontwikkelaars kunnen hun code aanpassen om te werken met verschillende dynamisch gekoppelde bibliotheken.

Het hulpprogramma ar (onderdeel van GNU Binutils op Linux) is het standaardgereedschap voor het maken en onderhouden van .a-archieven. Omdat de linker alleen de objectbestanden extraheert die hij nodig heeft, wordt ongebruikte code uit een statische bibliotheek niet opgenomen in het uiteindelijke uitvoerbare bestand.

Beveiliging & veiligheid

RISICO: LOW

Een .a is data voor de bouwfase, niet iets dat het besturingssysteem uitvoert, dus het vormt weinig direct risico voor eindgebruikers. Voor ontwikkelaars is het punt van zorg het vertrouwen in de toeleveringsketen: een kwaadaardige of gemanipuleerde statische bibliotheek linkt zijn code rechtstreeks in uw programma, dus gebruik alleen .a-bestanden van vertrouwde SDK-bronnen en verifieer checksums/handtekeningen. Een Ada-bronbestand .a is platte tekst en ongevaarlijk om te openen.

Formaatdetails

in een notendop
VOLLEDIGE NAAMUnix/Linux Static Library (ar archive)
ONTWIKKELAARUnix lineage (ar archiver); GNU binutils on Linuxsinds ar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
MIME-TYPEapplication/x-archive
TYPEar-formaat archief van gecompileerde objectbestanden (ELF/Mach-O .o leden)
STANDAARDOpen · royaltyvrij
GERELATEERD.do.md.hex.xsd
Deze extensie wordt ook gebruikt door…
  • Ada-broncodebestand - Sommige Ada-compilers/projecten gebruiken .a (en .ada/.adb/.ads) voor Ada-broncode in platte tekst - dit is de betekenis die de legacy-database heeft geregistreerd, maar het komt veel minder vaak voor dan de statische bibliotheek.
MAGIC BYTES · BESTANDSSIGNATUUR
OFFSET
0001020304050607
HEX
213C617263683E0A
ASCII
!<arch>·
Een .a statische bibliotheek is een archief in ar-formaat en begint met de 8-byte handtekening „!<arch>\n” (21 3C 61 72 63 68 3E 0A). De leden zijn gecompileerde objectbestanden (ELF .o op Linux, Mach-O op macOS). Dit is dezelfde archieffamilie als een Windows .lib. (Een Ada-bronbestand, de andere betekenis van „.a”, is platte tekst zonder handtekening.)

Programma's die A-bestanden openen

Windows2 apps
Microsoft Visual Studio Freemium VS gebruikt .lib, niet de Unix .a. Alleen nuttig als de .a Ada-broncode is (bewerken als tekst) of via WSL/MinGW voor cross-builds - geen native opener.
7-Zip Open-source Open de .a als een archief om de objectleden te bekijken/extraheren (het is een ar-archief). Bouwen ertegenaan vereist een bijpassende toolchain (MinGW/WSL).
macOS2 apps
ar / nm (Xcode command line tools) Gratis Zelfde toolchain: „ar t lib.a” / „nm lib.a”. Leden zijn Mach-O-objecten. Installeer met „xcode-select --install”.
BBEdit / TextEdit Freemium Alleen voor Ada-bronbestanden (.a) - openen als platte tekst. Een binaire statische bibliotheek zal eruitzien als wartaal.
Linux3 apps
binutils (ar / nm / objdump) Open-source „ar t libfoo.a” toont leden; „nm libfoo.a” toont symbolen; „ar x libfoo.a” extraheert de .o-bestanden. Een .a wordt gelinkt, niet geopend.
GCC / Clang (linker) Open-source Link ertegenaan tijdens een build: „gcc main.c -L. -lfoo” trekt libfoo.a in het uitvoerbare bestand.
GVim / any text editor Open-source Alleen als de .a feitelijk Ada-BRONCODE is (de ook_gebruikt_door betekenis) - bewerk het dan zoals elk bronbestand.

Technische details

diepe specificaties
Bestandshandtekening„!<arch>\n” (hex: 21 3C 61 72 63 68 3E 0A) bij byte-offset 0
Archiefformaatar (Unix Archiver) - hetzelfde containerformaat op Linux, macOS en BSD-systemen
MIME-typeapplication/x-archive
Type lidbestand (Linux)ELF verplaatsbare objectbestanden (.o)
Type lidbestand (macOS)Mach-O verplaatsbare objectbestanden (.o)
Headergrootte per lid60 bytes - ASCII-velden: naam (16 B), tijdstempel (12 B), UID (6 B), GID (6 B), modus (8 B), grootte (10 B), eindmarkering (2 B)
Symboolindex-lidGNU ar gebruikt een lid genaamd „/”; BSD/macOS ar gebruikt „__SYMDEF” - koppelt symboolnamen aan lidoffsets voor snel linken
Naamgevingsconventielib<naam>.a - bijv. libz.a, libssl.a, libpthread.a; het voorvoegsel „lib” is vereist door de -l vlag van de linker
CompressieGeen - objectbestanden van leden worden letterlijk opgeslagen, ongecomprimeerd
Gedrag tijdens linktijdLinker extraheert alleen de .o-leden die voldoen aan onopgeloste symbolen; ongebruikte leden worden niet opgenomen in het uiteindelijke uitvoerbare bestand
Standaard creatie-toolar (GNU Binutils op Linux; LLVM ar / BSD ar op macOS); aangeroepen als: ar rcs libname.a file1.o file2.o
Symboolinspectie-toolnm - geeft een lijst van geëxporteerde, ongedefinieerde en lokale symbolen; bijv. nm libname.a
Inhoudsinspectie-toolar t libname.a toont leden; ar x libname.a extraheert ze; objdump / otool deassembleert lidcode
Windows-equivalent.lib statische bibliotheek (COFF/PE-formaat); Windows cross-compilers zoals MinGW produceren ook .a-bestanden
Typisch bestandsgroottebereikVarieert van enkele KB (kleine hulpprogramma-bibliotheek) tot honderden MB (bijv. libclang_rt.a of een volledige libc.a)
Uitgebrachtar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
Open standaardJa · royaltyvrij
Specificatieen.wikipedia.org

A conversies

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met A-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over A-bestanden.

Veelgestelde vragen

Wat is een .a-bestand?
Op Linux/macOS is het een statische bibliotheek - een „archief” (ar-formaat) van gecompileerde objectbestanden die de linker tijdens het bouwen naar uw programma kopieert. Het Windows-equivalent is .lib. (Een paar Ada-compilers gebruiken .a ook voor broncode.)
Hoe open ik een .a-bestand?
U opent het niet als een document - de linker gebruikt het tijdens een build. Om het te inspecteren, voert u „ar t lib.a” uit om leden op te sommen en „nm lib.a” om symbolen op te sommen. Als de .a feitelijk Ada-broncode is, open deze dan in een teksteditor.
Wat is het verschil tussen .a en .so?
Een statische bibliotheek (.a) wordt tijdens het bouwen in uw uitvoerbare bestand ingebakken, dus er is geen afhankelijkheid tijdens runtime. Een gedeelde bibliotheek (.so op Linux, .dylib op macOS) wordt afzonderlijk geladen tijdens runtime en gedeeld tussen programma's.
Is een .a hetzelfde als een Windows .lib?
Ze delen het ar-archiefformaat maar bevatten verschillende objecttypen (ELF/Mach-O versus COFF), dus ze zijn niet uitwisselbaar. U kunt een Linux .a niet op Windows gebruiken door deze te hernoemen - bouw opnieuw vanaf de broncode voor het doelplatform.
Hoe extraheer ik de .o-bestanden uit een .a?
Voer „ar x libfoo.a” (binutils) uit om de objectleden te extraheren, of open de .a in 7-Zip aangezien het een ar-archief is.
Mijn .a-bestand is tekst, geen bibliotheek - waarom?
Dan is het de andere betekenis van .a: Ada-broncode. Sommige Ada-compilers gebruiken .a (naast .ada/.adb/.ads). Open het in een teksteditor of compileer het met een GNAT/Ada-toolchain.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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

Gerelateerde extensies

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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z