개요. | |
Visual C++ 에서 DLL 을 이용하기 위한 2가지 방식 implicit linking, explicit linking 중 본 글은 explicit linking방식 정리. 코드작성 수월성에서는 implicit linking (상세보기 -> https://igotit.tistory.com/471 ) 이 훨씬 편리한 방식이나, explicit linking 을 사용해야 하는 경우도 있다. dll 위치. 1. implicit linking 대상 dll 은 실행파일경로와 동일한 곳에 있어야 하나, explicit linking 대상 DLL은 임의 폴더에 두고 LoadLibrary 함수 호출시 경로를 지정해주면 된다. 2. explicit linking 대상 DLL(예. main.dll) 내에서 implicit linking 으로 다른 DLL(예 sub.dll) 이 로딩되는 구조라면 sub.dll 은 실행파일과 동일 경로에 있어야 main.dll 을 동적로딩시 main.dll 에서 sub.dll 을 정상로딩가능하다. | |
|
DLL 로딩과 해제 | |||
1. LoadLibrary . DLL 로딩함수.
2. FreeLibrary. 로딩된 DLL 해제함수.- MFC 코드인 경우 주로 OnDestroy 등 혹은 해제처리할 임의의 장소에 배치해두면 됨.
| |||
|
동적 로딩한 DLL의 함수 사용 | |||
함수 GetProcAddress 로 DLL의 함수포인터 받고 호출하기.예 : DLL 제공 함수 int funcDll(double in1, float in2); 가 있다고 하자.
상기 코드에서 GetPrcAddress 로 함수 포인터 받기 위한 사전 pFuncDll 처리부가 요점임. MS사 상세정보. 상기주소에서 제공하는 코드 예제.
| |||
|
'VisualStudio.C++.C#' 카테고리의 다른 글
MFC Extension DLL 만들기. ChartDirectorViewer (0) | 2017.03.18 |
---|---|
Visual Studio Community 2017. 무료. (0) | 2017.03.14 |
Visual Studio 2015 빈 솔루션 생성. (0) | 2017.03.12 |
Visual Studio 2010. Git Source Control Provider 확장 설치. (0) | 2017.02.12 |
Visual Studio 2015 에서 리눅스 개발환경 설치. Visual C++ for Linux Development (0) | 2017.01.14 |
댓글