Unity3d中调用C/C++封装的DLL
来源:互联网 发布:tj是什么意思网络用语 编辑:程序博客网 时间:2024/05/22 01:29
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:运行结果
运行结果
- Unity3d中调用C/C++封装的DLL
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的 DLL 封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- [Unity3d]调用自己封装的dll
- [Unity3d]调用自己封装的dll
- Unity3D调用自己封装的dll
- Unity3D调用自己封装的dll
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题(2)
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- C#调用C++Dll封装时遇到的一系列问题
- java.lang.IllegalArgumentException: Document base
- k近邻算法及其实例(实战笔记一)
- 虚拟机搭建CDH-第五讲-克隆虚拟机
- STM32F103的11个定时器详解 高级定时器pwm
- 交换元素使两个数组相同
- Unity3d中调用C/C++封装的DLL
- 欢迎使用CSDN-markdown编辑器
- JAVA-14.1-IO流之知识点补充
- I/O 复用之select poll epoll 模式基础知识(1)
- jsp有哪些动作?作用分别是什么?
- viewpager自动轮播
- STM32学习笔记(1):GPIO口的使用
- tradaboost算法原理
- STM32学习笔记(2):外部中断的使用