Unity原生平台插件开发简介(Android/iOS)

一、Unity如何调用c#之外的语言的内容

1、c/c++可以编译成.so动态库(android平台下),.dll动态库(window平台和编辑器下),.a静态库(iOS平台下),.bundle包(Mac平台下和编辑器下)

      把编译好的东西放在Plugins目录下的指定平台目录下即可。比如iOS平台就放在iOS文件夹下面。Android平台根据cpu架构不同放在对应文件夹下面,比如Anroid/libs/armeabi-v7a。 Window平台及编辑器一般放在x86_64目录下。

      不同动态库可能有冲突,比如x86的动态库以及x86_64的动态库是互相冲突的,这个要在编辑器中设置各个库的对应平台是哪个。

2、iOS扩展也可以直接把.m或者.mm的源文件放在iOS目录下,Unity打包的时候会直接将其打包到xcode工程里面。这个跟编译好静态库是一样的。

3、Window平台的动态库可以用vs来编译,也可以用mingw来编译。如果是c99用的比较多的,推荐用mingw。比如tolua就是用这套来编译的。

4、Android平台的插件如果是java的,推荐用Android Studio来编译。如果是c/c++的,推荐用ndk来编译。这个后面会详细介绍。

5、在c#中直接用DllImport即可直接使用对应函数,比如

#if UNITY_IOS
       // iOS相关函数实现在.m文件中
[DllImport( "__Internal" )]
private static extern float _iOSS

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值