반응형

SimpleDllTest라는 이름으로 아래와 같이 프로젝트를 만든다.

 
사용자 삽입 이미지
 
사용자 삽입 이미지


사용자 삽입 이미지

해당 솔류션에 SimpleDll이란 이름으로 Dll을 생성하는 프로젝트를 아래와 같이 만듭니다.
사용자 삽입 이미지
사용자 삽입 이미지

다음과 같은 솔루션 탐색기를 확인 할 수 있습니다.
사용자 삽입 이미지



















이제 SimpleDll 프로젝트에서 다음과 같은 클래스를 추가 합니다.

Sample.h

 #pragma once

#ifdef DLLEXPORT
#define SAMPLE __declspec(dllexport)
#else
#define SAMPLE __declspec(dllimport)
#endif


class SAMPLE CSample
{
public:
 int m_i;
 CSample(void);
 ~CSample(void);
 int Test(int input);
};


Sample.cpp

 #define DLLEXPORT
#include "Sample.h"

CSample::CSample(void)
{
}

CSample::~CSample(void)
{
}

int CSample::Test(int input)
{
 return input + 1;
}

Dll이 완성 되었습니다.

SimpleDll을 컴파일하고 빌드하면 SimpleDllTest\Debug에서

SimpleDll.dll, SimpleDll.lib를 확인 할 수 있습니다.

이제 SimpleDll을 테스트하고 SimpleDll에서 변경시 바로 반영하기 위해서 프로젝트의
속성을 바꿔보도록 하겠습니다.

SimpleDll프로젝트 속성에서 빌드후 이벤트의 명령줄을 아래와 같이 입력합니다.

사용자 삽입 이미지

오른쪽 끝에 ...박스를 누르면 여러 줄을 입력할 수 있습니다.
사용자 삽입 이미지


이제 SimpleDllTest의 프로젝트 속성에서 링커/입력의 추가종석성에 SimpleDll.lib를 추가합니다.
사용자 삽입 이미지

마지막으로 프로젝트 탭의 프로젝트 종속성을 아래와 같이 변경합니다.
사용자 삽입 이미지

이제 다음과 같이 SimpleDllTest.cpp를 코딩해서 결과를 확인하면 됩니다.

 #include "stdafx.h"
#include "Sample.h"

int _tmain(int argc, _TCHAR* argv[])
{
 CSample s;

 printf("%d", s.Test(3));
 return 0;
}

정상적으로 잘 되었다면 4가 출력될 것입니다.

+ Recent posts