C# .NET、Mono、跨平台 的简单介绍




1、.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等)

这篇博文写的无比清晰。https://www.cnblogs.com/1996V/p/9037603.html#net23

2、Mono是什么

微软的.NET框架本身只能在windows上运行,对于跨平台的需求,Mono就产生了。

Mono是.NET的一个开源跨平台工具,可以实现跨平台运行。
Mono作为.NET框架在不同平台上的重要补充,Mono也被Unity所引用。

3、Unity是如何实现跨平台的

因为Unity使用了叫CIL(通用中间语言)的代码指令集。CIL可以在任何支持CLI(通用语言基础结构)的环境中运行。

Unity代码的编译分为两部分:

  1. 从代码到CIL的编译
  2. 运行时从CIL到本地指令的即时编译(不包括IOS,因为IOS无法使用JIT引擎)

Unity打包时会将mono一同打包进来,同时Unity将脚本编译为CIL代码打包,这样只要是Mono支持的平台,都可以在Mono中编译成平台本地代码。


参考于Unity3D脚本编程一书

posted @ 2020-05-14 10:43  Fflyqaq  阅读(1650)  评论(0编辑  收藏  举报