Какие пакеты с расширением (а) - PullRequest
0 голосов
/ 27 июля 2011

Кто-нибудь может объяснить, что это за пакеты с расширением (.a), которые мы иногда можем добавить в xcode:

1) что это за пакеты?

2) чем они отличаются от других пакетов с расширением (.framework)?

3) можно ли настроить / изменить код внутри пакета (.a)?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 27 июля 2011

Это статическая библиотека (или архив), сгенерированная ar. Он содержит один или несколько .o объектных файлов, которые содержат скомпилированный код и символы, необходимые для компоновки.

A .framework содержит оба заголовочных файла (.h), определяющие интерфейс, а также .dylib (общая библиотека).

Статическая библиотека уже скомпилирована в машинный код - изменить код в ней нелегко. В отличие от разделяемой библиотеки, статическая библиотека предназначена для связывания компоновщиком - объектный код будет буквально скопирован в файл назначения, тогда как разделяемая библиотека требует, чтобы он присутствовал во время выполнения, поскольку создаются только ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...