Система связывания в компьютерной инженерии работает следующим образом: когда программа связывается со статической библиотекой, машинный код из объектных файлов для каждой используемой программой функции библиотеки копируется из библиотеки в конечный исполняемый файл. 2 В отличие от статических, в динамических библиотеках код библиотеки не прикрепляется к исполняемому файлу во время связывания. 2
В зависимости от того, когда и как осуществляется привязка подпрограмм по адресам, процесс связывания можно разделить на предварительное связывание, связывание на этапе загрузки, неявное связывание во время запуска и явное связывание во время запуска. 2
Также существует динамическое связывание, при котором каждая динамически связанная программа содержит небольшую статически связанную функцию, которая вызывается при запуске программы. 4 Эта статическая функция отображает библиотеку ссылок в память и выполняет код, который содержит функция. 4 Библиотека ссылок определяет, какие динамические библиотеки требуются программе, а также имена переменных и функций, необходимых из этих библиотек, путём считывания информации, содержащейся в разделах библиотеки. 4 После чего она отображает библиотеки в середину виртуальной памяти и разрешает ссылки на символы, содержащиеся в этих библиотеках. 4