Unity底层的C#运行原理

本文探讨Unity引擎如何利用C#实现跨平台运行。通过.NET的.NET Standard规范,实现跨平台API一致性。Unity选择Mono作为.NET实现,利用其跨平台能力。然而,Mono存在移植困难、版本限制等问题,于是Unity引入IL2CPP,将IL代码转换为C++,提高运行效率,尤其在iOS等不支持JIT的平台。总结来说,Unity通过Mono和IL2CPP的结合,实现了C#代码在不同平台的高效运行。
摘要由CSDN通过智能技术生成

在小柴刚开始从事游戏开发时一直有个疑问,游戏开发者使用Unity引擎和C#语言进行开发,通过Unity引擎构建出不同平台的安装包如apk、ipa等,同一套代码为什么可以在两个平台上运行?既然使用Unity引擎和C#进行开发就可以运行在不同的平台上,甚至是switch这些游戏机上,为什么还需要单独进行iOS开发和Android开发呢?除此之外,.NET众多的名词如.NET Framework、.NET Core、.NET Standard、Mono等,让当时还年幼的野生程序员小柴困惑不已。

006ARE9vgy1fx15bmrizrj30ga0e474m

一、.NET跨平台

1、.NET

.NET 是一种用于构建多种应用的免费开源开发平台,有具体四种实现

NET

一种语言想要运行就需要一定的运行环境,而.NET平台提供了为C#提供了这种环境,通过编译器将源代码转换成IL中间码,运行时CLR通过将IL中间代码转换成对应平台的Native Code,最终运行在目标机器上。

img

2、.NET Standard

可能也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值