DLL - це динамічна бібліотека посилань. Це колекція коду та / або даних, яка може використовуватися декількома програмами (або іншими бібліотеками / модулями).
Так, наприклад, загальні методи обробки файлів, роботи з компонентами графічного інтерфейсу тощо доступні в бібліотеках, тому декілька програм можуть використовувати одну і ту ж функціональність. Це не тільки зменшує необхідність створювати однакові матеріали кілька разів, але й гарантує, що, наприклад, загальні діалоги однакові між програмами.
Бібліотеки можна завантажувати під час виконання і таким чином розподіляти між різними паралельними програмами. Це називається динамічним зв'язуванням.
У деяких випадках бібліотека може бути включена в саму програму. Це відоме як статичне зв’язування. Статичне зв’язування полегшує розгортання за рахунок гнучкості, оскільки кожен додаток завантажує одну і ту ж копію DLL.
Однак статичне посилання не завжди є варіантом. Наприклад, ви не можете статично пов’язати програму .NET. Користувач повинен мати бібліотеки .NET для запуску програми .NET, і бібліотеки (або збірки, як їх називають у .NET) завантажуються під час виконання.
Бібліотеки DLL створюються тими ж інструментами, що використовуються для створення додатків. Конкретні деталі дуже сильно залежать від використовуваних інструментів.