/******************************************************************/
/* MFC Extension DLL(using shard MFC DLL)
/******************************************************************/
1. 새로운 프로젝트를 생성한다.
[MFC AppWizard(dll)] -> [MFC Extension DLL(using shard MFC DLL)] -> [Finish]
2. 새로운 클래스를 추가한다.
Class Type : Generic Class
Class Name : CTest
3. CTest클래스의 해더에서
// Test.h: interface for the CTest class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TEST_H__84322227_2364_48FD_B142_DE36100C3F0C__INCLUDED_)
#define AFX_TEST_H__84322227_2364_48FD_B142_DE36100C3F0C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class AFX_EXT_CLASS CTest //AFX_EXT_CLASS 추가
{
int num;
public:
CTest();
virtual ~CTest();
void SetNum( int num );
int GetNum() const;
int Square( int num );
};
#endif // !defined(AFX_TEST_H__84322227_2364_48FD_B142_DE36100C3F0C__INCLUDED_)
4. CTest클래스의 소스에서
// Test.cpp: implementation of the CTest class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Test.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTest::CTest()
{
num = 0;
}
CTest::~CTest()
{
}
void CTest::SetNum( int num )
{
this->num = num;
}
int CTest::GetNum() const
{
return num;
}
int CTest::Square( int num )
{
return this->num * num;
}
5. 컴파일 하면 dll파일과 lib파일이 생성된다.
6. 콘솔 모드로 프로젝트를 새로 생성한다.
7. dll.파일과 lib파일 Test.h파일을 새로 만든 콘솔 프로젝트에 복사해서 붙여넣는다.
lib파일 링크 추가
8. 콘솔 모드 프로젝트에 Test.h파일 include
AFX_EXT_CLASS // <--이부분 삭제
9. 콘솔 모드 프로젝트에 cpp파일 추가
#include <iostream>
#include "Test.h"
using namespace std;
void main()
{
CTest test;
test.SetNum( 10 );
cout << test.GetNum() << endl;
cout << test.Square( 100 ) << endl;
}
'Programming > MFC' 카테고리의 다른 글
신규 View 생성시 Document에 등록하는 방법 (0) | 2010.11.16 |
---|---|
MFC AppWizard(dll) - Regular DLL 만들고 들어다 쓰기 (0) | 2010.11.16 |
MFC에서 리턴값이 여러개 필요할땐 포인터로 리턴 (0) | 2010.11.16 |
MFC 리스트컨트롤 초기화 및 아이템 삽입 (0) | 2010.11.11 |
MFC 다이얼로그 및 메뉴 생성 방법 (0) | 2010.11.10 |