2010년 1월 11일 월요일
DLL 유형 |
MFC DLL 연결방법 |
내용 |
일반 DLL |
정적 연결 |
l C 형식의 함수를 익스포트한다. l C, C++, MFC, VB, Delphi 등의 프로그램에서 사용이 가능 l 사용 매크로 : _USRDLL |
공유 연결 |
l C 형식의 함수를 익스포트한다. l C, C++, MFC, VB, Delphi 등의 프로그램에서 사용이 가능 l MFC 관련 DLL을 공유하기 때문에 정적에 비해 dll 크기가 작지만, dll 배포시 자신의 dll 과 관련 MFC Dll도 같이 배포하여야 한다. l 사용 매크로 : _USRDLL, _AFXDLL | |
익스텐션 DLL |
공유 연결 |
l 함수, 변수와 함께 C++ 클래스도 익스포트 가능 l Mfc 프로그램에서만 사용이 가능하다. AFX_EXT_CLASS 매크로를 이용하여 클래스를 익스포트한다. l 확장 DLL 의 경우 MFC DLL의 정적 연결을 지원하지 않는다. l MFC에서 _AFXEXT, _AFXDLL MFC 프로그램에서만 사용이 가능하다. l AFX_EXT_CLASS 매크로를 이용하여 클래스를 익스포트한다. l 확장 DLL의 경우 MFC DLL의 정적 연결을 지원하지 않는다. l 사용 매크로 : _AFXEXT, _AFXDLL |
[DLL 종류]
1. 일반 DLL (regular DLL) : 정적 DLL, 공유 DLL
2. 확장 DLL (extension DLL)
[장점]
- 정적 DLL : 하나의 DLL 파일만 배포하면 된다.
- 공유 DLL : 적은 디스크 용량만을 사용한다.
- 확장 DLL : MFC 애플리케이션에서 C++의 객체를 사용할 수 있다.
[단점]
- 정적 DLL : 여러개의 DLL 파일이 배포되는 경우에는 많은 디스크 용량이 필요하다.
- 공유 DLL : 여러개의 파일을 배포해야 한다.
- 확장 DLL : MFC 애플리케이션에서만 호출할 수 있다. 런타임(runtime)에 링크가 어렵다.
출처
VisualC++.NET Programming Bible
'Education > Bit 18th' 카테고리의 다른 글
[최종프로젝트] 삼성 API 카메라 C#에서 사용 By 용호 (0) | 2010.01.14 |
---|---|
[최종프로젝트] RETAILMSG란? (0) | 2010.01.14 |
[최종프로젝트] 웹사이트 이미지 (0) | 2010.01.07 |
[최종프로젝트] 소스 구현 - 웹사이트 By 용호 (0) | 2010.01.04 |
지도용 마커 (0) | 2010.01.04 |
댓글