사칙연산 예제
Dll 헤더파일
#ifndef __CAL_H
#define __CAL_H
#include <windows.h>
#ifdef DLLEXPORT
#define DLLTYPE __declspec(dllexport)
#define DLLTYPE2 extern "C" __declspec(dllexport)
#else
#define DLLTYPE __declspec(dllimport)
#define DLLTYPE2 extern "C" __declspec(dllimport)
#endif
class DLLTYPE Cal
{
public:
int Calplus(int Num1, int Num2);
int Cal::CalMinus(int Num1, int Num2);
int Cal::CalMul(int Num1, int Num2);
int Cal::CalDiv(int Num1, int Num2);
};
#endif __CAL_H
DLL CPP파일
#define DLLEXPORT
#include "Cal.h"
int Cal::Calplus(int Num1, int Num2)
{
return (Num1 + Num2);
}
int Cal::CalMinus(int Num1, int Num2)
{
return (Num1 - Num2);
}
int Cal::CalMul(int Num1, int Num2)
{
return (Num1 * Num2);
}
int Cal::CalDiv(int Num1, int Num2)
{
return (Num1 / Num2);
}
#define DLLEXPORT을 선언하였다. 헤더파일에도 정의되어있기때문에 조건문에서 export로 되어서 수출하게된다.
사용파일
#pragma comment(lib, "Dll연습")
#include "Cal.h"
#include <stdio.h>
void main()
{
Cal cal;
cal.Calplus(2,4);
printf("result = %d\n", cal.Calplus(2,4));
printf("result = %d\n", cal.CalMinus(2,4));
printf("result = %d\n", cal.CalMul(2,4));
printf("result = %d\n", cal.CalDiv(2,4));
}
여기서는 Cal.h 를 인클루드만해서 쓰게 됨으로 DLLEXPORT가 중복이 안되서 조건문에서 import로 빠지게된다.
즉, 사용하겠다는 뜻이다.
'API & MFC > API & 시스템프로그래밍' 카테고리의 다른 글
프로세스 (0) | 2010.02.10 |
---|---|
ATOM (0) | 2010.02.09 |
리스트뷰 (0) | 2010.02.03 |
WM_USER And WM_APP (0) | 2010.02.02 |
레지스트리 (0) | 2010.02.02 |