DLL - это библиотека динамической компоновки. Это набор кода и / или данных, которые могут использоваться несколькими приложениями (или другими библиотеками / модулями).
Так, например, общие методы обработки файлов, работы с компонентами графического интерфейса и т. Д. Доступны в библиотеках, поэтому несколько приложений могут использовать одни и те же функции. Это не только снижает потребность в многократной сборке одного и того же материала, но также гарантирует, что, например, общие диалоги между приложениями одинаковы.
Библиотеки могут загружаться во время выполнения и, таким образом, совместно использоваться различными параллельными приложениями. Это называется динамической компоновкой.
В некоторых случаях библиотека может быть включена в само приложение. Это называется статическим связыванием. Статическое связывание упрощает развертывание за счет гибкости, поскольку каждое приложение загружает одну и ту же копию библиотеки DLL.
Однако статическая компоновка не всегда возможна. Например, вы не можете статически связать приложение .NET. У пользователя должны быть библиотеки .NET, чтобы запускать приложение .NET, и библиотеки (или сборки, как они называются в .NET) загружаются во время выполнения.
Библиотеки DLL создаются теми же инструментами, которые используются для создания приложений. Конкретные детали во многом зависят от используемых инструментов.