Что такое файл с расширением .a? - PullRequest
60 голосов
/ 11 мая 2011

Я скачал это: https://github.com/mongodb/mongo-c-driver

И теперь я пытаюсь использовать его внутри своей программы на C, но я не знаю, что делать с сгенерированными файлами .a.Кто они такие?Я не смог найти никакой информации, даже в руководстве GCC.

И я построил это так:

  scons --c99

Кроме того, могу ли я использовать библиотеки C99 с моей программой C89?

Ответы [ 2 ]

78 голосов
/ 11 мая 2011
Файлы

.a являются статическими библиотеками, обычно генерируемыми инструментом архивирования . Обычно вы включаете заголовочные файлы, связанные с этой статической библиотекой, а затем ссылаетесь на библиотеку при компиляции.

23 голосов
/ 11 мая 2011
Файлы

.a создаются утилитой ar и являются библиотеками. Чтобы использовать его с gcc, соберите все .a files в папке lib/, а затем свяжите с -L lib/ и -l<name of specific library>.

Сбор всех файлов .a в lib/ необязателен. Это делает каталоги лучше выглядящими с хорошим разделением кода и библиотек, ИМХО.

...