前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity底层如何处理C#

Unity底层如何处理C#

作者头像
[Sugar]
发布2022-10-05 17:38:47
5410
发布2022-10-05 17:38:47
举报
文章被收录于专栏:U3D技术分享
  • 本篇章内容总结自网上公开课

目录

Mono虚拟机

  • Mono:在微软开放.NET后,Mono是其平台下的.NET项目,支持Linux,Windows和Mac,Android。因此基于Mono开发应用/游戏都是可以跨平台发布。
  • Unity在以前为什么会选择Mono虚拟机:因为Mono支持夸平台发布

IL2CPP

  • Unity为什么在Mono之后又推出了IL2CPP 1、Mono.Net的版权问题 2、Mono虚拟机解释执行.NET字节码,运行效率相对较差 3、IOS等部分平台不允许内置.NET虚拟机 4、如果有新的计算平台出现,且Mono不支持,那么Unity就很难搞
  • IL:.NET字节码,IL2CPP,即把.NET字节码转换为C++代码,之后编译成本地平台代码
  • Unity要做的事情/IL2CPP功能: 1、用本地C/C++开发以支持跨平台的runtime,然后生成目标平台的应用程序 2、Unity引擎以及游戏开发者的代码转换为.net字节码,然后用IL2CPP转换成C++代码 3、开发IL2CPP VM以支持类似于C#垃圾回收机制等特性
  • 结构层次:
image 1 1024x602 - Unity底层如何处理C#
image 1 1024x602 - Unity底层如何处理C#
  • IL2CPP优势 (1)解决跨平台可移植性问题。如果有新的平台出现,Unity直接一直IL2CPP即可,解决了.NET的版本问题。 (2)性能获得提升。.NET是解释执行字节码,而C++是本地的Native代码。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mono虚拟机
  • IL2CPP
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档