摘要
本篇博客主要介绍使用C++生成DLL库,并在C#工程之中进行调用。本技术可以用于Unity开发中,可以将一些复杂计算量较大的工作使用C++编写,生成DLL文件后在Unity中使用C#脚本进行调用。
本演示实例中会对涉及到的部分提出详细的解释说明。本工程使用的编程工具为
Microsoft Visual Studio Community 2015 Version 14.0.25431.01 Update 3
C++生成DLL库文件
新建工程
首先让我们新建一个C++的DLL工程,新建过程如下图:
- 选择
Visual C++
Win32工程,设置好工程名和路径。 - 选择应用类型为
DLL
,并且新建空工程。
添加代码文件
这里展示普通的C++ 函数,和C++ 类的静态函数。
新建一个类Add
具体代码文件如下所示。
其中
__stdcall
关键字 是Microsoft
专用的。__stdcall
调用约定用于调用 Win32 API 函数。 被调用方将清理堆栈,以便让编译器生成 vararg 函数__cdecl
。 使用此调用约定的函数需要一个函数原型。
__stdcall
是生命DLL文件导出函数的一种语法,需要结合.def
文件使用。
函数语法
return-type __stdcall function-name[(argument-list)]