.dll
Other
DLL (Dynamic Link Library)
DLL은 여러 프로그램이 동시에 사용하는 코드와 데이터를 포함하는 Windows 공유 라이브러리 형식입니다. DLL은 모듈식 소프트웨어 설계를 가능하게 하고, 코드 공유를 통해 메모리 사용량을 줄이며, Windows 운영 체제와 애플리케이션 생태계의 핵심입니다.
MIME 타입
application/vnd.microsoft.portable-executable
유형
바이너리
압축
무손실
장점
- + Code sharing — multiple programs use the same DLL in memory
- + Modular updates — patch a DLL without recompiling applications
- + Reduced disk and memory usage through shared libraries
단점
- − DLL Hell — version conflicts between applications
- − Security risk — malicious DLL injection and sideloading attacks
- − Windows-only — Linux uses .so, macOS uses .dylib
.DLL 사용 시점
DLL은 Windows 애플리케이션에서 사용됩니다. 개발자는 공유 라이브러리를 위해 DLL을 만듭니다. 최종 사용자는 시스템 DLL을 수정하거나 삭제하지 않아야 합니다.
기술 세부사항
DLL 파일은 PE(Portable Executable) 형식을 사용합니다. .exe 파일과 동일한 구조이지만 라이브러리임을 나타내는 플래그가 있습니다. 내보내기 테이블을 통해 함수와 데이터를 내보내며, 런타임에 Windows 로더가 로드합니다.
역사
Microsoft는 1985년 Windows 1.0과 함께 제한된 메모리 환경에서 애플리케이션 간 코드 공유를 위해 DLL을 도입했습니다. 이 형식은 Windows와 함께 현재 사용되는 PE(Portable Executable) 형식으로 발전했습니다.