C# .NET及Mono跨平台实现原理解析

Fiona ·
更新时间:2024-11-11
· 954 次阅读

一、.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#使用TensorFlow.NET训练自己的数据集的方法.NET/C# 使用Stopwatch测量运行时间C# Xamarin利用ZXing.Net.Mobile进行扫码的方法C#/.NET使用git命令行来操作git仓库的方法示例Asp.Net(C#)使用oleDbConnection 连接Excel的方法.NET/C#如何判断某个类是否是泛型类型或泛型接口的子类型详解C#/.NET读取或修改文件的创建时间及修改时间详解C#利用ZXing.Net生成条形码和二维码



.NET C# net mono

需要 登录 后方可回复, 如果你还没有账号请 注册新账号