当前位置: 移动技术网 > IT编程>开发语言>c# > C# .NET及Mono跨平台实现原理解析

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

2020年06月14日  | 移动技术网IT编程  | 我要评论

车贤静三级,童牧野博客,奥烨移民

一、.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中编译成平台本地代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网