Динамические (общие) библиотеки используют код PIC - код будет работать независимо от фактического физического расположения библиотеки, которая используется несколькими исполняемыми файлами в памяти.
Статические библиотеки связаныв исполняемый файл во время поэтапного связывания для создания исполняемого файла.
Преимущество динамических библиотек заключается в меньшей занимаемой площади исполняемого файла в памяти.Преимущество статических библиотек заключается в том, что вы можете просто доставить исполняемый файл без необходимости иметь динамические библиотеки и работать немного быстрее, и не требуется никаких усилий, чтобы позволить библиотеке существовать где-либо в физической памяти.