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

所属分类: 软件编程 / C#教程 阅读数: 106
收藏 0 赞 0 分享

一、.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# SendInput 模拟鼠标操作的实现方法

C# SendInput 模拟鼠标操作的实现方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中 paint()与Onpaint()的区别

paint是事件onpaint方法onpaint方法是调用paint事件的,用哪一个,效果是一样,就看那一个方便了内部是这样实现的:
收藏 0 赞 0 分享

c#中GetType()与Typeof()的区别

c#中GetType()与Typeof()的区别,需要的朋友可以参考一下
收藏 0 赞 0 分享

将字符串转换成System.Drawing.Color类型的方法

将字符串转换成System.Drawing.Color类型的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# 抓取网页内容的方法

C# 抓取网页内容的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

基于C#后台调用跨域MVC服务及带Cookie验证的实现

本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下
收藏 0 赞 0 分享

使用C#获取远程图片 Form用户名与密码Authorization认证的实现

本篇文章介绍了,使用C#获取远程图片 Form用户名与密码Authorization认证的实现。需要的朋友参考下
收藏 0 赞 0 分享

Winform跨线程操作的简单方法

线程间操作无效:从不是创建控件“label1”的线程访问它
收藏 0 赞 0 分享

C# WINFORM 强制让窗体获得焦点的方法代码

C# WINFORM 强制让窗体获得焦点的方法代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#中方括号[]的语法及作用介绍

C#中方括号[]可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。
收藏 0 赞 0 分享
查看更多