DLL 이란?
dynamic-link library, DLL)는 마이크로소프트 윈도우에서 구현된 동적 라이브러리
내부에는 다른 프로그램이 불러서 쓸 수 있는 다양한 함수들을 가지고 있는데, 확장DLL인 경우 클래스를 가지고 있기도 한다.
windows 에서 사용되는 공유 라이브러리
여러 프로그램을 만들어 배포할떄 자신이 만든 함수를 배포할떄마다 함수를 직접넣을 필요없이 dll에 함수를 저장하여 공유하면 된다
한 프로그램이라해도 여러 프로그램으로 나누어서 배포 해야하는 경우도 있는데 그때 같은 함수가 사용된다면 dll로 배포할수 있다
프로그램의 용량을 줄이기 위해서도 사용
예로 메모장이나 그림판, 한글워드 등 다양한 윈도우용 프로그램을 보면 파일열기 기능이 있는데, 동일한 창이 뜨는것을 보실수 있습니다.
동일한 파일열기 창이 뜨는것은 각 프로그램들이 윈도우에서 제공하는 시스템 라이브러리를 사용하기 때문
각 프로그램(.exe)에서 필요한 기능을 그때그때 윈도우에서 찾아서 사용하게 되는데
이 시스템 라이브러리 파일이 .DLL 형태로 윈도우 상에 존재하게 된다
실행파일인 (.exe) 파일에 모든 기능을 넣지 않고, 별도의 DLL파일로 저장할 수 있다
정보 또는 함수의 라이브러리
때로는 수백 개의 함수를 저장하고 있고, 프로그램이 연결해서 필요에 따라 함수의 일부 또는 전체를 사용할 수 있는 방식으로
동적으로 연결됨
이러한 방식의 이점은 프로그램이 자신의 파일에 함수 하나하나를 포함할 필요가 없으며, 대신 공유된 DLL을 이용함으로써
프로그램 크기를 줄일 수 있다는 것
프로그램 자신의 파일에 모든 함수를 넣는게 아니라 이미 만들어져있거나 공유될 수 있는 DLL 파일에 함수를 넣어 사용하면
해당 프로그램의 소스를 줄일 수 있으며 다른 프로그램에서도 DLL을 공유해서 사용하게되면 윈도우 전체의 용량을 줄일 수
있다
프로그램들이 가져다 쓸수있는 유용한 함수들의 집합
정적 링크는, 코드를 실행파일에 복사하기 때문에 그냥 단독으로 실행가능하다.
다만 동적 링크는 실행시에 라이브러리가 실행파일에 연결되기 때문에 DLL파일이 꼭 있어야 한다.
.dll은 Winform이나 WPF들을 전부 포함할 수 있다
참조
'IT > Introduction to Computer Science' 카테고리의 다른 글
문서 파일이 깨지는 / 한글이 깨지는 이유? (3) | 2017.11.20 |
---|---|
UML 이란? (0) | 2017.11.08 |
웹 개발자 로드맵 (0) | 2017.10.27 |
IT 용어 이해! (0) | 2017.09.17 |