unity 调用c++ dll示例
2019-03-26 11:31
309 查看
最近同事在Unity里想调用一个自己用C++写的dll未成功,于是我便测试了一下,按下列步骤可以成功调用
vs版本2017,首先新建动态链接库
新建完成后,在targetver.h头文件中做如下声明:
[code]#define _DLL_Export extern _declspec(dllexport) extern "C" { _DLL_Export int add(int a, int b); _DLL_Export int sub(int a, int b); }
然后在源文件 Unity_Dll.cpp 中添加头文件targetver.h ,并写下测试的方法
[code]#include "targetver.h" int add(int a, int b) { return a + b; } int sub(int a, int b) { return a - b; }
解决方案配置修改为Release 平台为行x64(和unity保持相同),然后生成
将生成的dll放到unity Plugins文件夹下,没有的话自己创建即可。
在unity中添加C#脚本,调用两个方法,并输出。具体如下:
[code] using System.Runtime.InteropServices; [DllImport("Unity_Dll")] private static extern int add(int a,int b); [DllImport("Unity_Dll")] private static extern int sub(int a,int b); void Start () { UnityEngine.Debug.Log(add(5,10)); UnityEngine.Debug.Log(sub(5,10)); }
点击运行后,成功输出。
同时,我做了一些算法在 c++ dll 和 c# 的执行效率的测试,由于我对c++原理了解太少,就不误导了。有兴趣大家可以测试下
相关文章推荐
- unity c#调用c++ dll相关技术细节整理
- C#调用C(C++)dll示例教程,包含dll找不到函数入口的解决办法,包含C#dll调用方式不对出错的解决办法
- Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- Unity使用C#调用C++dll传递指针参数、接收指针返回值
- Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- Unity调用C++中DLL文件
- unity调用C++动态链接库dll
- Java调用C++ API完整示例(dll)
- [2014.1.31] Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- Java调用C++ API完整示例(dll)
- 2014 1 31 Eclipse MinGW JNI编写C++生成dll Java端调用的完整示例 附java
- 【转载】Unity C# 调用C++ dll 问题集锦
- 用jna实现调用c++的dll简单示例
- unity调用C++的DLL(32位和64位DLL)
- Unity C# 调用C++ dll 问题集锦
- [2014.1.31] Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- C#调用C++写的DLL的简单示例
- Delphi调用C++写的dll示例
- C#调用C++编的dll文件里的方法报错
- [转]C#调用C++写的Dll时的运行时错误解决