GSI

MFC DLL 사용하기

C++ 2007. 11. 16. 17:58 |

MFC DLL 사용하기

MFC DLL 프로젝트를 하나 생성한다. ( DllLib 라는 이름으로 프로젝트를 생성한다.)

DllLib.cpp 파일에 해당 하는 함수나 클래스 인스턴스를 하나 만듭니다.
이때 AFX_API_EXPORT를 앞에 붙여서 만들면 됩니다.

AFX_API_EXPORT int Plus(int _first, int _second);
AFX_API_EXPORT void DrawTest(CDC* pDC);

AFX_API_EXPORT int Plus(int _first, int _second)
{
 _first += m_Test.value;

    return (_first+_second);
}

AFX_API_EXPORT void DrawTest(CDC* pDC)
{
 pDC->MoveTo(10, 10);
 pDC->LineTo(100, 100);
}

이렇게 만든 후에 MFC Dialog 베이스로 프로그램을 하나 만들어서 테스트를 해봅니다.
(DllTestView 라는 이름으로 프로젝트를 생성한다.)

원하는 코드에서 해당 함수를 호출 하기 위해서 DllLib에서 만들어 놓았던 함수들을
선언해 줍니다.

AFX_API_IMPORT int Plus(int _first, int _second);
AFX_API_IMPORT void DrawTest(CDC* pDC);

이후에 사용은 아래와 같이 하시면 됩니다.

void CDllTestViewDlg::OnPaint()
{
......
 {
  CPaintDC dc(this);
  DrawTest(&dc);        // DC를 넘겨서 라인을 찍는 함수 테스트
  CDialog::OnPaint();
 }
}

// 두개의 에디터 박스에서 값을 int 형으로 받아서 합계를 내주는 함수 사용
void CDllTestViewDlg::OnBnClickedButton1()
{
 UpdateData(TRUE);
 m_Sum = Plus(m_Left, m_Right);
 UpdateData(FALSE);
}

요즘은 프로젝트가 대형화 되고, 한사람이 짜는 프로젝트가 많이 없다 보니
슬슬 DLL을 써야 할거 같다.

Posted by gsi
: