web-dev-qa-db-fra.com

Qu'est-ce qu'un fichier avec l'extension .a?

J'ai téléchargé ceci: https://github.com/mongodb/mongo-c-driver

Et maintenant, j'essaie de l'utiliser dans mon programme C, mais je ne sais pas quoi faire avec les fichiers .a générés. Que sont-ils? Je n'ai trouvé aucune information, pas même dans le manuel de GCC.

Et je l'ai construit comme suit:

  scons --c99

De plus, puis-je utiliser les bibliothèques C99 avec mon programme C89?

61
Blub

Les fichiers .a Sont des bibliothèques statiques généralement générées par outil d'archivage . Vous incluez généralement les fichiers d'en-tête associés à cette bibliothèque statique, puis vous liez à la bibliothèque lors de la compilation.

78
GWW

.a Les fichiers sont créés avec l’utilitaire ar, et ce sont des bibliothèques. Pour l'utiliser avec gcc, collectez tous les .a files dans un lib/ dossier puis un lien avec -L lib/ et -l<name of specific library>.

Collection de tous les fichiers .a dans lib/ est facultatif. Cela crée de meilleurs répertoires avec la séparation de Nice entre code et bibliothèques, à mon humble avis.

23
Sriram