#31. MFC 전용 확장 DLL의 작성

실제로 MFC 어플리케이션을 작성하는 데에 있어서 표준 DLL 보다는 MFC 익스텐션 (확장) DLL이 더 많이 쓰여집니다. 그리고 만들기에도 더 간단하고 유용합니다.


MFC DLL 프로젝트로 DLL을 작성할 경우 여러분은 종전의 MFC용 클래스들을 무리하지 않고 편리하게 DLL로 관리할 수가 있습니다. 예를 들면, CObject로부터 상속받아온 클래스를 사용자 정의해서 DLL로 빼내서 관리할 수 있습니다.


여러분이 실제로 MFC 익스텐션 DLL을 만들 때에 DLL 소스 코드에서 클래스의 정의를 하여줄 때에 단지 AFX_EXT_CLASS 매크로 키워드만을 더해주면 완성됩니다.


클래스명을 CExampleTest라고 정의한 경우 MFC 전용 확장 DLL에 알맞게 선언해 주는 방법은 다음과 같습니다. 이 클래스가 CDialog로 부터 상속을 받았다고도 가정하겠습니다.


class AFX_EXT_CLASS CExampleTest: public CDialog { … }


이렇게 정의해놓으면 나중에 DLL을 빌드하고 나서 DLL을 사용하게 될 메인 어플리케이션의 프로젝트 디렉터리의 DEBUG 디렉터리에 *.LIB 과 *.DLL 파일을 복사하신 후 원하는 대로 링크해서 쓰시면 됩니다. 기존의 링크 방법을 지원합니다. (암시적/명시적)


참고로 이렇게 만들어진 DLL은 특별히 프로토 타입을 셋팅한다든지 할 필요는 없으며 보통때 사용하던 클래스처럼 연결해서 써주면 정상적으로 동작하게 되어있습니다.

댓글 남기기