1. 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_ */
Posted by Nightly Luna
,
® © Tanny Tales
/ rss