2010년 3월 23일 화요일

DLL

DLL
- Dynamic Linking Library
- 동적으로 link해서 사용하는 library를 말한다.
  여기서 동적이라 함은, program 실행중에 link된다는 의미.

일반적인 Build 과정
*.c  → (compile) → *.o → (link) → *.exe
이때, link가 실패하면 실행 binary file(*.exe)을 만들 수 없게 됨.
하지만 DLL은 build 과정중에 (그 시점에) link되지 않고
build 완료된 binary file이, 실행되는 동안에 코드에 따라
외부 library에 link되거나 unlink되는 library이다.

장점
기존의 static library와는 완전히 다른 개념으로
1. 실행 binary의 파일 크기를 줄이거나
2. 특정 코드를 은닉하거나 객체화하는 장점.

일반적인 MFC Application과 차이점
1. Code의 논리적인 흐름이 함수 단위로 제한됨.
2. DllMain()함수가 존재
   → 이 함수는 DLL이 Link되거나 unlink될 때 호출되는 함수.

DLL에는
Implict link방식과
Explicit link방식이 있음..
요건 다음에..
 

댓글 없음:

댓글 쓰기