Window Programming/Visual studio

Visual Studio에서 dll만들기

Ishaya seon 2008. 7. 20. 20:58
반응형

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가 출력될 것입니다.