Windows/DLL,MFC

[DLL 만들기] 2. 프로젝트 생성 및 구조 설명.

별빛의온기 2022. 10. 12. 20:43
반응형

DLL을 만들기 위한 프로젝트를 생성해보도록 하겠습니다.

Visual Studio 2019를 기준으로 설명합니다. 다른 버전도 크게 다르지는 않을거에요.

 

1. Visual Studio를 실행하면 아래와 같은 창이 뜨는데, "새 프로젝트 만들기"를 클릭합니다.

2. c++과 Windows를 선택하고 아래로 스크롤 하면 "DLL(동적 연결 라이브러리)"가 있습니다. 그것을 선택하고 다음을 누릅니다.

 

3. 프로젝트 이름과 위치, 솔루션 이름을 입력하고, 만들기를 클릭하여 프로젝트를 생성합니다.

4. 아래와 같이 프로젝트가 생성됩니다. DLL 프로젝트 생성이 완료되었습니다.

 

생성되는 dllmain.cpp에 대한 설명은 마이크로소프트 홈페이지에 설명이 되어있습니다.

https://learn.microsoft.com/en-us/windows/win32/dlls/dllmain?redirectedfrom=MSDN 

 

DllMain entry point (Process.h) - Win32 apps

An optional entry point into a dynamic-link library (DLL). When the system starts or terminates a process or thread, it calls the entry-point function for each loaded DLL using the first thread of the process.

learn.microsoft.com

 

https://learn.microsoft.com/ko-KR/cpp/build/run-time-library-behavior?view=msvc-150 

 

DLL 및 Visual C++ 런타임 라이브러리 동작

자세한 정보: DLL 및 Visual C++ 런타임 라이브러리 동작

learn.microsoft.com

 

간단하게 설명하자면 위 dllmain.cpp에서 DLL_PROCESS_ATTACH 는 DLL을 로드(LoadLibrary)할때 수행되는 부분이고, 반대로 DLL_PROCESS_DETACH는 DLL을 언로드(FreeLibrary)할때 호출되는 부분입니다. 

 

상세한것은 위 링크를 참고하시는게 좋습니다.

 

 

반응형