DLL(Dynamic Link Library) 이란?

DLL이란? (Dynamic Link Library)

 

라이브러리 (Library)

- 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해

표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것.

즉, 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.

- 라이브러리를 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있으므로 개발 속도도 빨라지고 신뢰성도 확보할 수 있다.

- 이런 라이브러리는 언제 메인 프로그램에 연결하느냐에 따라서 Static Link와 Dynamic Link로 나뉘며, DLL은 이 중 후자를 뜻한다.

 

 

스태틱 링크(Static Link Library)

- 정적 링크라고 하며 컴파일 시점에 라이브러리가 링커에 의해 연결되어 실행 파일의 일부분이 된다.

DLL(Dynamic Link Library)

- 동적 링크라고 하며 실행 파일에서 해당 라이브러리의 기능을 사용 시에만, 라이브러리 파일을 참조하여(혹은 다운로드받아) 기능을 호출한다.

- 정적 링크와는 다르게 컴파일 시점에 실행 파일에 함수를 복사하지 않고, 함수의 위치정보만 갖고 그 함수를 호출할 수 있게 한다.

 

 

1. DLL의 이점

1) 더 적은 리소스 사용

- 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다.

- 사용되는 디스크 공간을 줄일 수 있다.

(정적링크를 사용하는 경우 실행 파일에 라이브러리의 함수가 모두 포함되어 실행파일이 커지지만 DLL을 사용하는 프로그램은 크기가 작다.)

- 운영 체제와 프로그램이 더 빠르게 로드 및 실행되며 컴퓨터에서 디스크 공간을 더 적게 차지한다.

 

2) 모듈식 아키텍처 활용

 

- DLL을 사용하면 모듈식 프로그램을 효율적으로 개발할 수 있다.

여러 언어 버전이 필요한 큰 프로그램이나 모듈식 아키텍처가 필요한 프로그램을 개발할 수 있다.

 

3) 손쉬운 배포와 설치

- DLL 내의 함수를 업데이트하거나 수정해야 하는 경우 DLL을 배포하고 설치할 때 프로그램을 DLL과 다시 연결하지 않아도 된다.

- 여러 프로그램이 같은 DLL을 사용하는 경우에는 모든 프로그램에 업데이트나 수정 내용이 적용된다.

 

4) 프로그래머들의 분담 작업이 용이하며 재사용성도 뛰어남.

또한 코드의 양이 적어지므로 디버깅도 용이해진다

댓글

Designed by JB FACTORY