Unity加载C语言32dll,Unity3d 载入 C++/CLI (托管方式c++) 的动态库(DLL)

Unity3d 载入 C++/CLI (托管模式c++) 的动态库(DLL)

由于最近开发游戏寻路A*使用非常频繁.所以是逻辑上的瓶颈. c#又比c++慢一倍.所以决定上c++.这样算一种优化吧.哈哈.

关于vs上的vc++.分托管和非托管模式.  托管模式就是 C++/CLI 也就说可以c++使用.net库. 和 CLR是一起的.  还有就是 非托管模式就是传统的c++直接调用win32 API.

两种方式都可以创建dll. 但是如果是和c# 连用肯定是 托管模式的更方便一些.下面就讲解下如何 unity3d 使用 CLR的C++/CLI.网上充斥着 使用非托管模式c++和unity连用的方式,这里本尊就不在阐述了..

书归正传:

环境:

1. vs2012 或者 vs2013.

2. unity4.3.0

首先说一下CLR项目的创建.

打开vs.然后新建. 这时候选择. CLR库项目.

212954364.jpg

之后就进入了项目.然后加入如下代码 用来测试 是否dll 被使用. a 和 b 相加返回结果.很简单的程序.

212954365.jpg

之后就是需要改一些项目的属性. 因为unity使用mono的原因.

1.Framework3.5 是 unity的版本. 这里本人的vs是2012/2013 使用fw 4.5了. 所以高了这里需要降下来.由于IDE里面没有选项所以需要打开 proj文件来修改版本.

212954366.jpg

212954367.jpg

把v4.5 改成 v3.5就ok.

2.clr也是很多版本的. unity支持 safe的clr. 所以这个也需要改.

212954368.jpg

项目上面 右键属性.

212954369.jpg

选成 safe的clr.就可以了. 然后编译出来 dll.

最后就是.把dll copy到unity里面去使用.unity需要建一个plugin的文件夹来存放dll.

212954370.jpg

放到这个文件夹里 之后.unity就可以使用了.

然后我们创建一个unity的c#脚本.来调用TSEngineCLI.

212954371.jpg

之后把这个c#脚本拖到随便一个GameObject上面. 运行一下. 会看到Console框 里面输出了3. 说明大功告成.哇嘎嘎.

好了.祝大家看的开心.编的愉快. 拜拜~...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值