동적 연결 라이브러리 (Dynamic Link Library)

I. 동적 연결 라이브러리 (Dynamic Link Library)의 개요

가. 동적 연결 라이브러리의 개념

  • 컴파일 시점에 실행 파일에 함수 복사 없이 함수의 위치 정보를 이용하여 기능을 호출하는 라이브러리 참조 기술

나. 동적 연결 라이브러리의 특징

  • 리소스 최적화: 하나의 코드를 여러 프로그램이 동시에 사용하므로 메모리 및 디스크 공간 절약
  • 배포 및 설치 용이: 프로그램과 독립적으로 DLL 함수 업데이트 및 수정, 배포, 설치 가능
  • 재사용성: 개발자 간 협업이 용이하며, 코드의 양이 적어 디버깅이 용이

 

II. 동적 연결 라이브러리 연결 방식 및 유형

가. 동적 연결 라이브러리 연결 방식

나. 동적 연결 라이브러리의 유형

구분유형설명
DLL 연결 형태묵시적 연결
(Implicit Linking)
– 프로그램 실행 시 연결
– 실행 파일 자체에 함수 사용 정보 포함
명시적 연결
(Explicit Linking)
– 프로그램 실행 중 연결
– API 기반 필요 함수만 호출
DLL 호출 형태정규 DLL– 클래스 형태가 아닌 C 함수 형태
– MFC 미사용 타 프로그램과 호환 가능
확장 DLL– DLL 호출 시 클래스 기반 호출
– MFC 구조체와 호환

 

III. 동적 연결 라이브러리와 정적 연결 라이브러리 비교

비교 항목동적 연결 라이브러리정적 연결 라이브러리
프로그램 포함 여부프로그램에 독립적프로그램에 포함
적용 시기런타임 시 호출컴파일 시 프로그램에 포함
장점유지관리 용이, 재사용성실행 시 외부 의존도 낮음
단점실행 시 외부 의존도 발생메모리 낭비, 유지관리 어려움
One Comment

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^