声明:IDE是Visual studio -version 2022
其制作的动态链接库dll里面实现简单的加减法,提供给其他项目调用。
流程:文件 -> 新建 -> 项目 -> 动态链接库(DLL)-> Next - > 填写项目名。
图1:DLL项目创建
图2:DLL项目名设置
流程:右键项目 -> 添加 -> 新建项 -> Visual C++ -> C++ 类 -> 填写名称 -> 添加 -> 确定
图3:左侧显示IDE自动添加的文件
图4:添加C++类(unityMath)
图5:UnityMath类添加成功
流程:在UnityMath.h头文件中声明方法,在UnityMath.cpp文件中实现方法。
注意:图6中注释文字内容
① 利用#define定义了一个UnityMath_API的宏命令
② _declspec(dllexport)声明导出函数供外部调用
③ _stdcall Windows API默认的函数调用协议
④ 必须加入 extern "C",如果不加的话C#调用会找不到入口方法名
图6:在.h头文件中声明对方的方法
图7:在.m文件中实现.h文件声明的方法
流程:
① 在确定.h和.cpp文件中代码无误后,生成解决方案(Ctrl + Alt + F7);
② 在UnityMath项目x64->Debug文件内找到这三个文件(UnityMath.h、UnityMath.lib、UnityMath.dll);(如果制作的是32位的,则是x86->Debug)
图8:制作成功
图9:必要的文件(可单独拷贝出,放置桌面备用)
① 新建一个新的项目testDLL;
② 在testDLL文件目录下,新建两个文件夹(lib、include);
③ 将UnityMath.h头文件,拷贝至include文件夹;
④ 将UnityMath.lib文件,拷贝至lib文件夹;
⑤ 将UnityMath.dll文件,拷贝至testDLL项目文件夹内。
图10:前期文件准备
$(SolutionDir)$(Configuration)\项目文件名
该项是放置.h头文件路径的(UnityMath.h所在的路径)
该项放置.lib文件路径(UnityMath.lib所在的路径)
PS:
① 图中1路径,先添加;
② 图中2路径等Debug编译成功之后,把UnityMath.dll拷贝一份防止Debug->testDLL文件夹内,保持.dll和.exe在同一文件夹下(如果Release之后也拷贝一份,并把路径配置上)
该项添加.lib文件名(UnityMath.lib)
① 在testDLL项目中,编辑testDLL.cpp
② 引用UnityMath.h
③ 调用动态链接库dll中的两个对外的方法
控制台已经打印出dll函数方法返回的结果,证明dll制作、调用成功