[MFC 비주얼프로그래밍-11] 동적 링크 라이브러리
- 최초 등록일
- 2009.03.29
- 최종 저작일
- 2008.01
- 21페이지/ MS 파워포인트
- 가격 2,000원
소개글
MFC 의 기초부터 고급기능까지
체계적으로 정리 요약되어 있습니다.
발표자료로도 좋으며 개인 공부시에도 많은 도움이 됩니다.
목차
1. 동적 링크 라이브러리
라이브러리 (Library)
동적 링크 라이브러리 (DLL)의 장점
동적 링크 라이브러리 (DLL)의 종류
DLL 엑스포트(Export) 와 임포트(Import)
DLL의 링크 (Link)
정규 DLL 사용하기 예제
명시적 연결로 정규 DLL 사용하기
확장 DLL 만들기
본문내용
라이브러리 (Library)
라이브러리란 함수, 데이터, 타입 등 여러 가지 프로그래밍 요소들의 집합이며, 보통 확장자로 *.LIB 가진다.
자주 사용하는 표준적인 함수를 매번 코딩해서 사용하는 것이 아니라 표준 함수를 모아서 사용이 용이하게 한 것이 라이브러리 이다.
도스(DOS)에서 printf, scanf 등은 사용자가 별도로 코딩하지 않고 라이브러리만 include 한후에 사용할 수 있었다.
라이브러리는 정적 링크 라이브러리와 동적 링크 라이브러리로 나뉜다.
*
동적 링크 라이브러리
라이브러리
정적 링크 라이브러리 (Static Link Library)
Program.c라는 소스 코드는 컴파일되고 라이브러리와 링크되어 하나의 실행 파일을 만든다.
이 때, 사용자는 라이브러리 부분을 제외한 자신의 고유코드만 program.c에 코딩하면 되고, 라이브러리와 연결하여 라이브러리에 포함된 함수들을 사용할 수 있게 된다.
라이브러리에 있는 함수와 데이터는 링커에 의해 실행파일에 그대로 옮겨져 실행파일의 일부분이 되는데 이것을 정적 링크 라이브러리라고 한다.
즉, 라이브러리가 모든 실행코드에 복사된다.
실행파일의 크기가 커지는 단점이 있지만, 프로그램은 완전 독립적으로 동작할 수 있다.
*
동적 링크 라이브러리
라이브러리
동적 링크 라이브러리 (Dynamic Link Library)
동적 링크 라이브러리는 링크시에 라이브러리의 함수의 코드가 실행파일에 복사되는 것이 아니라, 실행시에 라이브러리가 호출되는 방식이다.
위 그림에서 실행파일인 Pragram1.exe에는 라이브러리 함수가 포함되어 있지 않고, 대신 라이브러리의 함수에 대한 위치 정보를 가지고 있다.
프로그램이 실행될 때, Library.dll이 같이 메모리에 읽혀지며 Program1.exe에서는 Library.dll에 있는 함수를 호출한다.
실행파일의 크기는 작아지는 장점이 있지만, 프로그램 실행시 반드시 동적 링크 라이브러리 (DLL)이 있어야 한다.
*
동적 링크 라이브러리
동적 링크 라이브러리 (DLL)의 장점
한 코드를 여러 프로그램 동시에 사용함으로 메모리가 절약된다.
DLL을 사용하는 프로그램은 정적 링크 프로그램보다 크기가 작아 하드디스크의 용량을 적게 소모하고 프로그램을 읽어 오는 속도도 더 빠르다.
DLL을 교체하여 프로그램의 성능을 향상시키기 용이한 구조이다. 프로그램은 그대로 사용하고, DLL만 교체해 주면 된다.
참고 자료
없음