DLL은 동적 링크 라이브러리입니다. 여러 응용 프로그램 (또는 기타 라이브러리 / 모듈)에서 사용할 수있는 코드 및 / 또는 데이터 모음입니다.
예를 들어 파일을 처리하는 일반적인 방법, GUI 구성 요소 작업 등을 라이브러리에서 사용할 수 있으므로 여러 응용 프로그램이 동일한 기능을 사용할 수 있습니다. 이렇게하면 동일한 항목을 여러 번 빌드해야 할 필요성이 줄어들뿐만 아니라 예를 들어 공통 대화 상자가 응용 프로그램간에 동일하게 유지됩니다.
라이브러리는 런타임에로드 될 수 있으므로 서로 다른 동시 애플리케이션간에 공유됩니다. 이를 동적 연결이라고합니다.
어떤 경우에는 라이브러리가 응용 프로그램 자체에 포함될 수 있습니다. 이를 정적 연결이라고합니다. 정적 연결은 서로 다른 응용 프로그램이 각각 동일한 DLL 복사본을로드하므로 유연성을 희생하면서 배포를 더 쉽게 만듭니다.
그러나 정적 링크는 항상 옵션이 아닙니다. 예를 들어 .NET 애플리케이션을 정적으로 연결할 수 없습니다. .NET 애플리케이션을 실행하려면 사용자에게 .NET 라이브러리가 있어야하며 라이브러리 (또는 .NET에서 호출되는 어셈블리)는 런타임에로드됩니다.
DLL은 응용 프로그램을 만드는 데 사용되는 것과 동일한 도구로 만들어집니다. 구체적인 세부 사항은 사용되는 도구에 따라 크게 달라집니다.