-
[C/C++] 동적라이브러리(DLL) 만들기 & 사용하기 - (1)C, C++/잡기장 | Notebook 2016. 11. 15. 20:08
서론
동적라이브러리(DLL)를 Visual Studio 2013과 C/C++을 이용해 만들어보고, 사용까지 해본 내용을 정리한 것입니다.
참고로, https://msdn.microsoft.com/en-us/library/ms235636.aspx 의 내용을 토대로 이해를 하였기에 참고하시기 바랍니다.
본론
■ 동적라이브러리(DLL) 만들기
1. 프로젝트 생성
1-1. Visual Studio 2013 → New Project → Win32 Project → Project, Solution name : DLibrary → OK
1-2. Application type : DLL → Additional options : Check the Empty project → Finish
2. 소스 및 헤더 파일 생성
2-1. Source Files : DLibrary.cpp, Header Files : DLibrary.h
3. 헤더파일(DLibrary.h)에 함수 원형 작성
4. 소스파일(DLibrary.cpp)에 함수 내용 작성
5. Build 및 생성된 .dll 파일 확인
5-1. Build 이후 생성된 dll경로 확인 (Build option : Debug, Win32 / ※개인이 원하는 옵션에 따라 빌드하시길 바람)
5-2. 출력된 경로를 따라서 생성된 .dll 파일 확인 : C:\Users\NAMENODE\Documents\Visual Studio 2013\Projects\DLibrary\Debug
■ 동적라이브러리(DLL) 사용하기
1. 프로젝트 생성
1-1. DLibrary 프로젝트를 생성한 동일한 Solution에 DLL를 사용할 프로젝트 생성
1-2. Solution Explorer → Soulution → Mouse's right button → Add → New Project
1-3. Win32 Project → Project name : UseDLibrary → OK
1-4. Application type : Console application → Add common header files for : Check the ATL, MFC → Finish
2. 소스, 헤더 파일 생성 확인 및 시작 프로젝트 설정
2-1. 생성된 소스, 헤더 파일 확인
2-2. UseDLibrary를 시작 프로젝트로 설정 : Solution Explorer → UseDLibary project → Mouse's right button → Set as StartUp Project
3. 소스파일(UseDLibrary.cpp)에 내용 작성
3-1. main 내부의 '// TODO: code your application's behavior here.'에 DLibrary.dll을 불러오고, 정의된 함수 사용
3-2. 정의된 함수는 함수 포인터를 이용하므로, main문 밖에 함수포인터 정의
4. Build → 실행
결론
동적라이브러리(DLL)을 만들어보고, 만들어진 dll 파일을 로드하여 정의된 함수를 사용하였습니다.
추가적으로, 이 글에 작성된 내용은 동일한 솔루션내에 라이브러리 프로젝트를 추가해서 동적라이브러리를 사용하는 것을 다루었습니다.
혹시나 시간이 된다면, 동일한 솔루션내에 라이브러리 프로젝트를 추가하지 않고, 외부 프로젝트에서 만든 dll을 사용하는 내용을 다루겠습니다.
감사합니다.
'C, C++ > 잡기장 | Notebook' 카테고리의 다른 글
[MFC] GetPrivateProfileString 함수 (0) 2019.01.24 [MFC] Dialog의 border가 none 상태일때 이동 (0) 2018.12.28 [MFC] UpdateData 함수 (0) 2018.12.27 [MFC] MFC 프로젝트에서 콘솔 사용하기 (0) 2018.12.20 [C/C++] 동적라이브러리(DLL) 만들기 & 사용하기 - (2) (0) 2017.01.19 댓글