Wat is een bestand met de extensie .a?

Ik heb dit gedownload: https://github.com/mongodb/mongo-c-driver

En nu probeer ik het in mijn C-programma te gebruiken, maar ik weet niet wat ik moet doen met de gegenereerde .a-bestanden. Wat zijn ze? Ik kon geen informatie vinden, zelfs niet in de GCC-handleiding.

En ik heb het zo gebouwd:

 scons --c99

Kan ik ook C99-bibliotheken gebruiken met mijn C89-programma?


Antwoord 1, autoriteit 100%

.abestanden zijn statischbibliotheken die doorgaans worden gegenereerd door de archiveringstool. U neemt meestal de header-bestanden op die aan die statische bibliotheek zijn gekoppeld en linkt vervolgens naar de bibliotheek wanneer u aan het compileren bent.


Antwoord 2, autoriteit 30%

.a-bestanden worden gemaakt met het hulpprogramma aren het zijn bibliotheken. Om het te gebruiken met gcc, verzamelt u alle .a filesin een lib/-map en koppelt u vervolgens met -L lib/en -l<name of specific library>.

Het verzamelen van alle .a-bestanden in lib/is optioneel. Dit zorgt voor mooiere mappen met een mooie scheiding van code en bibliotheken, IMHO.

Other episodes