Unity3d中调用C/C++封装的DLL

Step1:创建动态链接库(DLL)

1.  打开VS2013,创建一个Win32应用程序,命名为U3DDLL


创建Win32应用程序


点击下一步

2.  选择应用程序类型为DLL的空项目


创建DLL空项目

3.新建头文件,命名为U3DTestDLL.h,并添加如下代码


创建头文件

#ifndef_U3DTestDLL_H_

#define_U3DTestDLL_

#ifdefU3DDLL_EXPORTS

#defineEXPORTS_U3DDLL _declspec( dllexport )

#else

#defineEXPORTS_U3DDLL _declspec(dllimport)

#endif

extern"C" EXPORTS_U3DDLL int Add(int a, int b);

#endif

4. 新建源文件,命名为U3DTestDLL.cpp,并添加如下代码

#include"U3DTestDLL.h"

intAdd(int a, int b)

{

       return (a + b);

}

5. 生成动态链接库(DLL)


生成DLL

Step2:复制DLL到Unity工程中的Asset/Plugins文件夹中

打开U3DDLL项目文件,找到x64->Debug文件夹将U3DDLL.dll复制到Unity工程中的Asset/Plugins文件夹中。

Step3:调用DLL

1. 在Unity中添加test脚本文件


创建脚本

2. 添加using指令

using System.Runtime.InteropServices;  

3. 导入DLL

使用[DllImport("Dll名字")]指明要引用的DLL,然后声明要使用的DLL中的方法。

usingUnityEngine;

usingSystem.Collections;

usingSystem.Runtime.InteropServices; 

publicclass test : MonoBehaviour

{

    [DllImport("U3DDLL")]

    private static extern int Add(int x, inty);

    int i = Add(5, 7); 

    void OnGUI()

    {

        GUI.Button(new Rect(1, 1, 200, 100),i.ToString());

    } 

}

Step4:运行结果


运行结果

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值