C# .NET及Mono跨平台实现原理解析
程序员文章站
2022-03-21 11:43:19
一、.net是什么.net是微软搭建的开发者平台,主要包括:1.支持(面向)该平台的编程语言(如c#、visual basic、c++/cli、f#、ironpython、ironruby...),2...
一、.net是什么
.net是微软搭建的开发者平台,主要包括:
1.支持(面向)该平台的编程语言(如c#、visual basic、c++/cli、f#、ironpython、ironruby...),
2.用于该平台下开发人员的技术框架体系(.net framework、.net core、mono、uwp等),
- 1.定义了通用类型系统,庞大的cts体系
- 2.用于支撑.net下的语言运行时的环境:clr
- 3..net体系技术的框架库fcl
- 3.用于支持开发人员开发的软件工具(即sdk,如vs2017、vs code等)
二、mono是什么
微软的.net框架本身只能在windows上运行,对于跨平台的需求,mono就产生了。
- mono是.net的一个开源跨平台工具,可以实现跨平台运行。
- mono作为.net框架在不同平台上的重要补充,mono也被unity所引用。
三、unity是如何实现跨平台的
因为unity使用了叫cil(通用中间语言)的代码指令集。cil可以在任何支持cli(通用语言基础结构)的环境中运行。
unity代码的编译分为两部分:
- 从代码到cil的编译
- 运行时从cil到本地指令的即时编译(不包括ios,因为ios无法使用jit引擎)
unity打包时会将mono一同打包进来,同时unity将脚本编译为cil代码打包,这样只要是mono支持的平台,都可以在mono中编译成平台本地代码。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Unity时间戳的使用方法