반응형
출처:
http://egloos.zum.com/pingfan/v/7450047
http://exportidea.blogspot.kr/2013/08/windows-dll.html
1. 라이브러리로 사용할 새 프로젝트를 다음과 같이 만든다.
1-1. Win32 프로젝트를 선택하여 만든다.
1-2. 프로젝트를 만들면 대화상자가 뜨는데 다음을 누른다.
그러면 아래와 같은 화면이 뜨는데 우리는 DLL을 만들 것이므로 DLL을 체크한다.
그리고 빈 프로젝트를 체크해 C++ 코드가 추가되는 것을 막는다.
2. 앞에 프로젝트를 만들었으므로 이제 소스와 헤더를 작성할 차례이다.
먼저 헤더와 소스 모두 C언어로 작성된 것이므로 extern C 키워드로 감싼다.
mydll.h
#ifdef _cplusplus extern C { void myFunc(); #ifdef _cplusplus }mydll.c
#ifdef _cplusplus extern C { #endif void myFunc() { printf("This is DLL!"); } #ifdef _cplusplus } #endif
3. 헤더에는 _declspec(dllimport) 키워드를, 소스에는 _declspec(dllexport) 키워드를
함수 앞에 붙인다.
mydll.h
#ifdef _cplusplus extern C { #endif _declspec(dllimport) void myFunc(); #ifdef _cplusplus } #endifmydll.c
#ifdef _cplusplus extern C { #endif _declspec(dllexport) void myFunc() { printf("This is DLL!"); } #ifdef _cplusplus } #endif
3. 라이브러리를 만들었으면 이 라이브러리를 사용하는 앱을 만들 차례이다.
밑의 화면처럼 이 프로젝트의 추가 경로와 라이브러리에
아까 만든 라이브러리의 경로를 추가하면 된다.
속성->C/C++->일반->추가 포함 디렉터리
속성->링커->일반->추가 라이브러리 디렉터리
이제 빌드만 하면 DLL을 만들고 그 DLL을 사용하는 앱도 사용할 수 있게 된다.
반응형