Unity3d 调用C++写的DLL
- 一、建立DLL
- 打开VS2010,建立一个win32应用程序,选择建立一个DLL类型的空项目。
- 新建一个头文件和一个源文件。
- 在头文件中写入
- #if defined (EXPORTBUILD)
- # define _DLLExport __declspec (dllexport)
- # else
- # define _DLLExport __declspec (dllimport)
- #endif
-
- extern "C" int _DLLExport MyADD(int x,int y);
- 在源文件中定义方法的操做
- #define EXPORTBUILD
-
- #include "DLL.h"
-
- int _DLLExport MyADD(int x,int y)
- {
- return x+y;
- }
- 传入两个参数会返回两个参数的和,而后编译这个项目,将生成的dll拷贝到Unity工程中的Asset/Plugins文件夹中
- 二、调用DLL
- 使用C#来调用DLL,首先建立一个C#脚本。添加using指令
- using System.Runtime.InteropServices;
- 使用[DllImport("Dll名字")]指明要引用的DLL,而后声明要使用的DLL中的方法。
-
- using UnityEngine;
- using System.Collections;
- using System.Runtime.InteropServices;
-
- public class test : MonoBehaviour {
- [DllImport("test")]
- private static extern int MyADD(int x,int y);
- int i = MyADD(5,7);
-
- void OnGUI()
- {
- GUI.Button(new Rect(1,1,200,100),i.ToString());
- }
- }
欢迎关注本站公众号,获取更多信息