1、创建动态链接库(dll)项目
1.1 创建一个新动态链接库(dll)项目
- 选择动态链接库(DLL),点击下一步
- 将其命名为DLLFun
1.2 在DLLFun项目中编写代码
- 分别添加dllfun.h和dllfun.cpp文件,其它文件不用动,如下图所示
- 在dllfun.h文件中编写代码
#pragma once
#define DLLFUN_EXPORTS
#ifdef DLLFUN_EXPORTS
#define DLLFUN_API __declspec(dllexport)
#else
#define DLLFUN_API __declspec(dllimport)
#endif
//分装dll函数给外部使用
extern "C" DLLFUN_API int add(int num1, int num2);
- 在dllfun.cpp文件中编写代码
#include "pch.h"
#include "dllfun.h"
DLLFUN_API int add(int num1, int num2)
{
return num1 + num2;
}
- 点击生成
注意上图的x86,如果之后你要给外部项目是32位项目使用,就选x86,如果是64位项目,就选x64,不然调用会报错 - 在项目目录/Debug目录下,看到如下图所示两个文件说明创建dll成功了
2、调用dll函数
2.1 创建c++控制台应用项目
- 创建项目如下图所示
- 命名为DLLUse
2.2 在DLLUse中配置属性
- 选择属性
- 找到如图所示的编辑
- 输入dllfun.lib然后确定
2.3 复制文件
将DLLFun项目中的dllfun.h、dllfun.dll、dllfun.lib全部复制到DLLUse项目中,如下图所示
2.4 调用DLLFun项目中的add函数
- 编写代码
#include <iostream>
#include "dllfun.h"
int main()
{
std::cout << add(1, 2) << std::endl;
}
- 运行如下图所示
这里有个地方需要注意,如果在DLLFun项目中用x86方式生成的dll就在DLLUse项目中选择x86运行,在DLLFun项目中用x64方式生成的dll就在DLLUse项目中选择x64运行。这里举个例子,之前我是用x86方式生成的dll,我在DLLUse项目中选择x64方式运行,看看会不会报错