一、简介
概要:本文将介绍如何创建DLL,并利用”__declspec(dllexport)“关键字导出函数接口
二、具体
(一)创建c++”动态链接库(DLL)“项目
创建C++”动态链接库(DLL)“项目,给项目取个名字,比如我的项目名是”SimpleMath“
(二)接口函数创建与导出
(1)添加头文件
这个文件主要用来申明我们将要导出的接口函数。
项目上右击——>“添加” ——>"新建项" ——>“头文件” ——>给头文件取个名字 ,比如我的是”MathAPI.h“——>"添加"
(2)添加cpp文件
这里主要用来 实现 前面头文件中申明的接口函数。
项目上右击——>“添加” ——>"新建项"——>“C++文件” ——>给文件取个名字 ,比如我的是”MathAPI.cpp“——>"添加"
(3)”MathAPI.h“ 代码
//MathAPI.h
#pragma once
#ifndef _MATHAPI_H_
#define _MATHAPI_H_
#define MATH_Export
#ifdef MATH_Export
#define MathApi __declspec(dllexport)
#else
#define MathApi __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C"
{
MathApi int Add(int a,int b);
MathApi int Minus(int a,int b);
}
#else
MathApi int Add(int a, int b);
MathApi int Minus(int a, int b);
#endif
#endif
(4)“MathAPI.cpp”代码
//MathAPI.cpp
#include "pch.h"
#include "MathAPI.h"
MathApi int Add(int a, int b)
{
return a + b;
}
MathApi int Minus(int a, int b)
{
return a - b;
}
三、编译
编译之后,在Debug 文件夹下(如果是Release 模式,则在Release文件夹下)会有“SimpleMath.dll”文件和“SimpleMath.lib”文件生成。这两个文件在后期调用DLL的过程中是关键。
四、调用
关于调用的方法,见”C++调用DLL“