C# .NET及Mono跨平台实现原理解析
一、.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中编译成平台本地代码。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
C#将部分Controls数据导入对象并存入ini中的操作方法
在Winform设计中,经常需要将控件数据导出到属性或字段中,本文详细介绍了如何优化这一过程,包括控件和属性的遍历,以及使用FieldInfo的getSet函数和Ini类库来实现数据的有效存储和转换,感兴趣的朋友跟随小编一起看看吧2024-10-10


最新评论