系列文章目录
演示导出类和函数的例子—DLL源文件
演示导出类和函数的例子—头文件
前言
/*------------------------------------------------------------------------
18_ExportClassDll.h
演示导出类和函数的例子---头文件
-----------------------------------------------------------------------*/
//下列的ifdef块是创建一个宏,是使从DLL导出更简单的一种标准的方法
//在使用此DLL的任何其他项目上不应定义此符号。这样,源文件包含此文件的
//任何其他项目都会将被SAMLPLEDLL_API修饰的函数视为从DLL中导入的,而此DLL
//则将用此宏定义符号视为被导出的
#pragma once
#ifdef SAMPLEDLL_EXPORTS
#define SAMPLEDLL_API __declspec(dllexport)
#else
#define SAMPLEDLL_API __declspec(dllimport)
#endif
//导出类
class SAMPLEDLL_API CSampleDll {
public:
CSampleDll(void); //构造函数
public:
int Sum(int a, int b);
};
//导出变量(应尽量避免!)
extern SAMPLEDLL_API int nSampleDll;
//导出函数
SAMPLEDLL_API int Multiply(int, int);
/*------------------------------------------------------------------------
19_ExportClassDll.cpp
演示导出类和函数的例子---DLL源文件
-----------------------------------------------------------------------*/
//DLL模块中必须先定义此宏,以便将SAMPLEDLL_API 定义为dllexport
#define SAMPLEDLL_EXPORTS
#include <windows.h>
#include "ExportClassDll.h"
//导出变量
int nSampleDll = 10;
//导出函数
int Multiply(int a, int b)
{
return a * b;
}
//导出类
CSampleDll::CSampleDll(void) {
return;
}
int CSampleDll::Sum(int a, int b)
{
return a + b;
}