Почему статические библиотеки C / C ++ заканчиваются на «.a»? - PullRequest
2 голосов
/ 17 сентября 2010

Этим утром я просто немного работаю над созданием статических библиотек.Почему статические библиотеки заканчиваются на «.a»?

Никто в моем офисе не знал, поэтому я решил спросить о переполнении стека.Мы пишем код на C ++, C и Objective-C.

Ответы [ 3 ]

15 голосов
/ 17 сентября 2010

Я думаю, что соглашение .a исходит из использования " archiver " для помещения объектных файлов в статическую библиотеку.

8 голосов
/ 17 сентября 2010

Это просто соглашение по Unix-системам.Visual Studio (Windows) генерирует .lib файлы.

Фактически, я только что обнаружил, что существует несколько других имен, см. Статью Википедии Библиотека (вычисления), раздел Имена файлов .

4 голосов
/ 17 сентября 2010

Это архивный формат (например, .zip или .tar), содержащий объектные файлы .o, сгенерированные "ar".Компоновщик обрабатывает его так, как будто объектные файлы были указаны индивидуально.

...