-
2009. 6. 7. 00:52 프로그래밍 언어/C++
/* Replace "dll.h" with the name of your header */
/* main.h 의 헤더를 원하는 이름으로 병경 */
#include "main.h"//같은 폴더의 헤더
#include <windows.h>//라이브러리 파일의 헤더
void DLL_EXPORT SomeFunction()
{
MessageBoxA(0, "", "DLL Message", MB_OK | MB_ICONINFORMATION);
}
extern "C" //MinGW32 컴파일러에서 사용
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. 어떤 상태에서 실행 */ ,
LPVOID reserved /* Not used. 사용 안함*/ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
#ifndef _MAIN_H_
#define _MAIN_H_
#ifdef BUILD_DLL //<- VC++ 등의 컴파일러에서 속성 -> C/C++ -> 전처리기 -> 전처리기 정의 에 BUILD_DLL; 를 첨가 합니다.
# define DLL_EXPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLL_EXPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
#ifdef __cplusplus
extern "C"
{
#endif
void DLL_EXPORT SomeFunction();
#ifdef __cplusplus
}
#endif /* _MAIN_H_ */
/* main.h 의 헤더를 원하는 이름으로 병경 */
#include "main.h"//같은 폴더의 헤더
#include <windows.h>//라이브러리 파일의 헤더
void DLL_EXPORT SomeFunction()
{
MessageBoxA(0, "", "DLL Message", MB_OK | MB_ICONINFORMATION);
}
extern "C" //MinGW32 컴파일러에서 사용
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. 어떤 상태에서 실행 */ ,
LPVOID reserved /* Not used. 사용 안함*/ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
#ifndef _MAIN_H_
#define _MAIN_H_
#ifdef BUILD_DLL //<- VC++ 등의 컴파일러에서 속성 -> C/C++ -> 전처리기 -> 전처리기 정의 에 BUILD_DLL; 를 첨가 합니다.
# define DLL_EXPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLL_EXPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
#ifdef __cplusplus
extern "C"
{
#endif
void DLL_EXPORT SomeFunction();
#ifdef __cplusplus
}
#endif /* _MAIN_H_ */