Хотелось узнать подробно о том, как разделяемые библиотеки работают со статической библиотекой - PullRequest
5 голосов
/ 23 апреля 2009

Я работаю над созданием и связыванием разделяемой библиотеки (.so). Во время работы с ними всплыло много вопросов, на которые я не мог найти удовлетворительных ответов, когда искал их, поэтому поставил их здесь. У меня есть вопросы по общим библиотекам:

1.) Чем разделяемая библиотека отличается от статической библиотеки? Каковы Ключевые различия в том, как они создаются, они исполняются?

2.) В случае с разделяемой библиотекой, в какой момент задаются адреса, с которых будет загружаться и запускаться определенная функция в разделяемой библиотеке? Кто дает эти функции адреса загрузки / запуска?

3.) Будет ли приложение, связанное с общей библиотекой, работать медленнее, чем приложение, связанное со статической библиотекой?

4.) Будет ли различаться размер исполняемого файла приложения в этих двух случаях?

5.) Можно ли выполнить отладку на уровне исходного кода, перейдя к функциям, определенным в общей библиотеке? Нужна ли какая-то дополнительная вещь, чтобы эти функции были видны приложению?

6.) Какие плюсы и минусы в использовании библиотеки любого вида?

Спасибо.

-AD

1 Ответ

1 голос
/ 23 апреля 2009
...