.A

File A

Unix/Linux Static Library (ar archive)
Fai una domanda
RISPOSTA RAPIDA

Un file .a è una libreria statica utilizzata su Unix, Linux e macOS. Si tratta di un archivio in formato ar di file oggetto compilati che il linker copia nel programma al momento della compilazione. Non si apre come un documento: va ispezionato con «ar t lib.a» (per elencare i membri) o «nm lib.a» (per elencare i simboli). Un piccolo numero di compilatori Ada utilizza .a anche per il codice sorgente; se il file è in formato testo semplice, si tratta di questo caso.

Sviluppatore: Unix lineage (ar archiver); GNU binutils on Linux Categoria: File di sviluppo Standard aperto MIME: application/x-archive
SI APRE SU Windows macOS Linux
Correlati: .DO · .MD · .HEX · .XSD

In questa pagina

19k+ estensioni indicizzate
Ultima revisione Sep 10, 2026

Non sei sicuro di cosa sia il tuo file?

Trascina qualsiasi file nel nostro identificatore - leggiamo solo i primi byte per dare un nome al formato.

Identifica un file

Che cos'è il formato di file A?

I file .a contengono librerie di sistema utilizzate dagli sviluppatori software. Tali file si trovano comunemente sui sistemi Unix-like - inclusi Linux e macOS - mentre i sistemi Microsoft Windows utilizzano i file .LIB per lo stesso scopo. I file .a forniscono funzioni compilate e header a cui i file sorgente possono fare riferimento. Le librerie con estensione .a sono comunemente chiamate librerie statiche.

Tecnicamente, un file .a è un archivio in formato ar: un contenitore che ospita uno o più file oggetto (.o) compilati. Su Linux i membri sono file .o in formato ELF; su macOS sono oggetti Mach-O. Ogni archivio .a inizia con la firma ASCII a 8 byte !<arch> seguita da un carattere di nuova riga, rendendolo riconoscibile dagli strumenti di ispezione dei file. È possibile elencare il contenuto dell'archivio con ar t libname.a e ispezionare i simboli esportati con nm libname.a.

I programmi informatici utilizzano due tipi di librerie di risorse: librerie statiche e librerie dinamiche. Le librerie statiche (.lib o .a) sono in genere più grandi di quelle dinamiche perché il loro codice viene compilato direttamente nel programma di destinazione al momento del collegamento (link time). Le librerie dinamiche - file .SO su Linux, .dylib su macOS - vengono collegate a un determinato programma al momento della sua esecuzione o durante l'esecuzione stessa. Gli sviluppatori possono personalizzare il proprio codice per lavorare con varie librerie collegate dinamicamente.

L'utility ar (parte di GNU Binutils su Linux) è lo strumento standard per la creazione e la manutenzione degli archivi .a. Poiché il linker estrae solo i file oggetto di cui ha bisogno, il codice inutilizzato di una libreria statica non viene incluso nell'eseguibile finale.

Sicurezza e incolumità

RISCHIO: LOW

Un file .a contiene dati per la fase di build, non è qualcosa che il sistema operativo esegue direttamente, quindi presenta pochi rischi diretti per gli utenti finali. Per gli sviluppatori, il problema riguarda la fiducia nella catena di approvvigionamento: una libreria statica dannosa o manomessa collega il suo codice direttamente nel programma, quindi utilizza file .a solo da sorgenti SDK affidabili e verifica checksum/firme. Un file .a sorgente Ada è testo semplice e innocuo da aprire.

Dettagli del formato

in sintesi
NOME COMPLETOUnix/Linux Static Library (ar archive)
SVILUPPATOREUnix lineage (ar archiver); GNU binutils on Linuxdal ar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
TIPO MIMEapplication/x-archive
TIPOarchivio in formato ar di file oggetto compilati (membri .o ELF/Mach-O)
STANDARDAperto · royalty-free
Questa estensione è usata anche da…
  • File codice sorgente Ada - Alcuni compilatori/progetti Ada utilizzano .a (e .ada/.adb/.ads) per il sorgente Ada in testo semplice - questo è il significato registrato nel database legacy, ma è molto meno comune della libreria statica.
MAGIC BYTES · FIRMA DEL FILE
OFFSET
0001020304050607
HEX
213C617263683E0A
ASCII
!<arch>·
Una libreria statica .a è un archivio in formato ar e inizia con la firma a 8 byte «!<arch>\n» (21 3C 61 72 63 68 3E 0A). I suoi membri sono file oggetto compilati (ELF .o su Linux, Mach-O su macOS). Appartiene alla stessa famiglia di archivi dei .lib di Windows. (Un file sorgente Ada, l'altro significato di «.a», è testo semplice senza firma).

Programmi che aprono file A

Windows2 apps
Microsoft Visual Studio Freemium VS utilizza .lib, non il formato Unix .a. È utile solo se il file .a è un sorgente Ada (da modificare come testo) o tramite WSL/MinGW per build incrociate - non è un visualizzatore nativo.
7-Zip Open-source Apre il file .a come un archivio per sfogliare/estrarre i suoi membri oggetto (essendo un archivio ar). La compilazione richiede una toolchain corrispondente (MinGW/WSL).
macOS2 apps
ar / nm (Xcode command line tools) Gratuito Stessa toolchain: «ar t lib.a» / «nm lib.a». I membri sono oggetti Mach-O. Installa con «xcode-select --install».
BBEdit / TextEdit Freemium Solo per file .a sorgente Ada - apri come testo semplice. Una libreria statica binaria apparirà come testo illeggibile.
Linux3 apps
binutils (ar / nm / objdump) Open-source «ar t libfoo.a» elenca i membri; «nm libfoo.a» elenca i simboli; «ar x libfoo.a» estrae i file .o. Un file .a viene collegato, non aperto.
GCC / Clang (linker) Open-source Si collega durante la build: «gcc main.c -L. -lfoo» inserisce libfoo.a nell'eseguibile.
GVim / any text editor Open-source Solo se il file .a è effettivamente testo SORGENTE Ada (il significato alternativo) - in tal caso, modificalo come qualsiasi file sorgente.

Dettagli tecnici

specifiche approfondite
Firma del file«!<arch>\n» (hex: 21 3C 61 72 63 68 3E 0A) all'offset byte 0
Formato archivioar (Unix Archiver) - lo stesso formato contenitore su sistemi Linux, macOS e BSD
Tipo MIMEapplication/x-archive
Tipo file membro (Linux)File oggetto rilocabili ELF (.o)
Tipo file membro (macOS)File oggetto rilocabili Mach-O (.o)
Dimensione header per membro60 byte - campi ASCII: nome (16 B), timestamp (12 B), UID (6 B), GID (6 B), permessi (8 B), dimensione (10 B), marcatore finale (2 B)
Membro indice simboliGNU ar usa un membro chiamato «/»; BSD/macOS ar usa «__SYMDEF» - mappa i nomi dei simboli agli offset dei membri per un collegamento rapido
Convenzione di denominazionelib<nome>.a - es. libz.a, libssl.a, libpthread.a; il prefisso «lib» è richiesto dal flag -l del linker
CompressioneNessuna - i file oggetto membri sono memorizzati letteralmente, non compressi
Comportamento al link-timeIl linker estrae solo i membri .o che soddisfano i simboli non risolti; i membri inutilizzati non vengono inclusi nell'eseguibile finale
Strumento di creazione standardar (GNU Binutils su Linux; LLVM ar / BSD ar su macOS); invocato come: ar rcs libname.a file1.o file2.o
Strumento ispezione simbolinm - elenca simboli esportati, non definiti e locali; es. nm libname.a
Strumento ispezione contenutiar t libname.a elenca i membri; ar x libname.a li estrae; objdump / otool disassemblano il codice dei membri
Equivalente WindowsLibreria statica .lib (formato COFF/PE); i cross-compilatori per Windows come MinGW producono anche file .a
Dimensione tipica del fileVaria da pochi KB (piccola libreria di utility) a centinaia di MB (es. libclang_rt.a o una libc.a completa)
Rilasciatoar archive format from early Unix (1970s); standard static-library extension on Unix/Linux/macOS
Standard aperto · royalty-free
Specificaen.wikipedia.org

Conversioni A

Domande e risposte della community

chiesto dagli utenti
Fai una domanda veloce
Ottieni aiuto da persone che lavorano con i file A. Sii specifico - includi il tuo sistema e la versione del software.
Nessun account necessario · risposte solitamente entro un giorno

Ancora nessuna domanda - sii il primo a chiedere informazioni sui file A.

Domande frequenti

Cos'è un file .a?
Su Linux/macOS è una libreria statica - un «archivio» (formato ar) di file oggetto compilati che il linker copia nel programma durante la compilazione. L'equivalente su Windows è .lib. (Alcuni compilatori Ada usano .a anche per il codice sorgente).
Come si apre un file .a?
Non si apre come un documento: il linker lo usa durante la build. Per ispezionarlo, esegui «ar t lib.a» per elencare i membri e «nm lib.a» per i simboli. Se il file .a è in realtà un sorgente Ada, aprilo in un editor di testo.
Qual è la differenza tra .a e .so?
Una libreria statica (.a) viene incorporata nell'eseguibile al momento della compilazione, quindi non c'è dipendenza a runtime. Una libreria condivisa (.so su Linux, .dylib su macOS) viene caricata separatamente all'avvio e condivisa tra più programmi.
Un file .a è uguale a un .lib di Windows?
Condividono il formato di archivio ar ma contengono tipi di oggetti diversi (ELF/Mach-O vs COFF), quindi non sono intercambiabili. Non puoi usare un .a di Linux su Windows rinominandolo: devi ricompilare dal sorgente per la piattaforma di destinazione.
Come si estraggono i file .o da un .a?
Esegui «ar x libfoo.a» (binutils) per estrarre i membri oggetto, oppure apri il file .a con 7-Zip poiché si tratta di un archivio ar.
Il mio file .a è di testo, non una libreria: perché?
In tal caso si tratta dell'altro significato di .a: codice sorgente Ada. Alcuni compilatori Ada usano .a (insieme a .ada/.adb/.ads). Aprilo con qualsiasi editor di testo o compilalo con una toolchain GNAT/Ada.

Riferimenti

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

Continua a esplorare

nel database

Migliori estensioni della settimana

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.DBSQLite Database File

Estensioni correlate

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

Strumenti file gratuiti

Un identificatore di file e convertitore di immagini nel browser - tutto viene eseguito sul tuo dispositivo.

Apri la cassetta degli attrezzi

Sfoglia le estensioni dei file A-Z