Хотел бы подробно узнать о том, как общие библиотеки работают по отношению к статической библиотеке
-
13-09-2019 - |
Вопрос
Я работаю над созданием и связыванием общей библиотеки (.so).Во время работы с ними возникло много вопросов, на которые я не смог найти удовлетворительных ответов, когда искал их, поэтому разместил их здесь.Вопросы об общих библиотеках, которые у меня есть, следующие:
1.) Чем общая библиотека отличается от статической библиотеки?Каковы ключевые различия в том, как они создаются, как они выполняются?
2.) В случае разделяемой библиотеки в какой момент указываются адреса, с которых будет загружена и запущена конкретная функция в разделяемой библиотеке?Кто предоставляет эти функции, это адреса загрузки / запуска?
3.) Будет ли приложение, связанное с общей библиотекой, выполняться медленнее по сравнению с тем, которое связано со статической библиотекой?
4.) Будет ли размер исполняемого файла приложения отличаться в этих двух случаях?
5.) Можно ли выполнить отладку на уровне исходного кода, перейдя к функциям, определенным внутри общей библиотеки?Требуется ли что-нибудь дополнительное, чтобы сделать эти функции видимыми для приложения?
6.) Каковы плюсы и минусы использования любого типа библиотеки?
Спасибо.
-РЕКЛАМА
Решение
Смотрите на этот вопрос SO Когда использовать динамический по сравнениюстатические библиотеки и это КАК ЭТО СДЕЛАТЬ.