Unity底层如何处理C#
c# 如何 处理 Unity 底层
2023-06-13 09:13:49 时间
- 本篇章内容总结自网上公开课
目录
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#垃圾回收机制等特性
- 结构层次:
- IL2CPP优势 (1)解决跨平台可移植性问题。如果有新的平台出现,Unity直接一直IL2CPP即可,解决了.NET的版本问题。 (2)性能获得提升。.NET是解释执行字节码,而C++是本地的Native代码。
相关文章
- C#如何:编写简单的 Parallel.ForEach 循环
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法
- c# listview排序功能_c#入门
- 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的
- 如何在 C# 9 中使用record类型?
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- 开心档之C# 匿名方法
- 关于C# XML序列化的一个BUG的修改详解编程语言
- C企业库如何有效利用MySQL存储数据(c# 企业库 mysql)
- C操作MySQL如何使用触发器(c# mysql触发器)
- C与MySQL结合实验如何成功构建测试系统(c#+mysql测试)
- 学习C与Oracle的绝妙组合开篇介绍(c# oracle教程)
- C#DataSet的内容写成XML时如何格式化字段数据
- c#如何将RadioButton与DataTable数据进行绑定
- C#实现的几种委托方式介绍
- C#如何在MVC3中取消备用控制器的选择
- c#实现隐藏与显示任务栏的方法详解
- C#中如何利用lambda实现委托事件的挂接
- C#实现人民币大写转换示例代码
- c#多线程网络聊天程序代码分享(服务器端和客户端)
- c#字符串查找某词出现的次数及索引
- C#遍历DataSet控件实例总结
- C#各种数组的用法实例演示
- C#中委托和事件在观察者模式中的应用实例