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을 써야 할거 같다.