Автор Maxim Wolkoff задал вопрос в разделе Другие языки и технологии
Что такое статическое и динамическое связывание? Теория. и получил лучший ответ
Ответ от Blacktor blacktor[активный]
Библиотека представляет собой набор подпрограм, который позволяет коду этих подпрограм использоваться в виде отдельных модулей. Исполняемые файлы и библиотеки создают взаимные ссылки в процессе т. н. «линковки» или связывания, который осуществляется редактором связей (linker).
В первом приближении, библиотеки можно разделить на статические и динамические.
Статические библиотеки являются набором объектных файлов и традиционно имеют расширение «.а» в UNIX-подобных ОС и «.lib» в Windows. Когда программа связывается со статической библиотекой, машинный код из объектных файлов для каждой используемой программой функции библиотеки копируется из библиотеки в конечный исполняемый файл.
В отличие от статических, в динамических библиотеках код библиотеки не прикрепляется к исполняемому файлу в время связывания. В зависимости от того когда и как осуществляется привязка подпрограмм по адресам, процесс связывания можно разделить на предварительное связывание, связывание на этапе загрузки, неявное связывание во время запуска и явное связывание во время запуска (prelinking, load time linking, implicit run-time linking,explicit run-time linking).