GSI

'dll'에 해당되는 글 2건

  1. 2016.02.25 API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
  2. 2007.11.16 MFC DLL 사용하기

API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL

API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL

API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL


위의 dll 때문에 오류가 나는 경우가 있다.


Debug 모드인지 체크 한다.

Release 모드일때는 문제가 없는 경우가 존재 한다.

이럴 경우 Release 모드로 전환후 디버깅을 걸수 있도록 하고 프로그램을 구현하는 방법을 사용하자.

 

 

Posted by 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
: