Хотел подробно узнать о том, как совместно используемые библиотеки работают со статической библиотекой.

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

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

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

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

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

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

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

Спасибо.

-AD


person goldenmean    schedule 23.04.2009    source источник


Ответы (1)


См. этот вопрос SO Когда использовать динамические и статические библиотеки и этот HOWTO.

person Community    schedule 23.04.2009