사칙연산 예제

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
간단한 DLL 예제  (1) 2010.02.03
리스트뷰  (0) 2010.02.03
WM_USER And WM_APP  (0) 2010.02.02
레지스트리  (0) 2010.02.02
Posted by 아몰라

댓글을 달아 주세요

  1. 2013.05.02 14:56

    젊을 때에 배움을 소홀히 하는 자는 과거를 상실하고 미래도 없다Topics related articles:


    http://npboy.tistory.com/4 新建文章 9

    http://yojo23.tistory.com/21 新建文章 12

    http://insajin.tistory.com/archive/20130208 新建文章 2

    http://zaehwan.tistory.com/69 新建文章 10