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