관리 메뉴

드럼치는 프로그래머

[API/MFC] Use MFC in a Shared DLL과 Use MFC in a Static Library 본문

★─Programing/☆─API | MFC

[API/MFC] Use MFC in a Shared DLL과 Use MFC in a Static Library

드럼치는한동이 2013. 6. 14. 08:54

Use MFC in a Shared DLL과 Use MFC in a Static Library 에 대햇..


MFC 프로젝트를 만들어서 사용할 때 'Use MFC in a Shared DLL과 Use MFC in a Static Library'  이 두가지 옵션중

선택해서 사용할 때가 있다

일반적으로 난 Use MFC in a Static Library 를 사용했다.

이것의 간단한 의미를 보자면

Use MFC in a Static Library : 현재 프로그램에서 필요로하는 기본적인 라이브러리를 코드에 포함하여 하나의 파일로 만드는것(?) 맞나..

암튼 위 옵션을 선택하여 따로 기본 dll들을 같이 배포할 필요가 없다. 즉 exe하나의 파일에 필요로 하는것들이 포함되어 있다는것~


하지만  Use MFC in a Shared DLL 은 말그대로 기본적으로 제공되는 DLL에서 참조해서 사용하겠다는 뜻으로 exe파일과

필요로 하는 dll들이 같이 배포가 되어야 한다.

즉 다른 PC에서 저 실행파일을 구동하려면 visual c++이 설치되어 있던가

mfc42d.dll, mfco42d.dll, msvcirtd.dll, msvcrtd.dll 이 dll들이 같이 나가던가 해야 한다는 말이다..


그럼 당연히 하나의 파일로 내보내는 Static Library를 선택하면 되겄네..라는 생각이 들겠지만

예를 들어 하나의 모듈파일(exe)만 배포할 때는 좋겠지만 만약 여러개의 exe파일을 내보낸다면??

한 5개의 exe파일이 배포되는 모두  static으로 해버린다면?? 

당연히 낭비라는 생각이 들것이다...저런경우에는 dll파일을 배포하는것이 훨씬 이득일 것이다.

뭐 대충 shared dll하고  static library하고 필요시에 어떤걸 써야 할지는 위 내용을 참조해서 구분하면 도움이 될 듯하다.


정보는 공유되어야 한다 쭈욱~~

 

 

[출처] http://2ry53.tistory.com/122

Comments