欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-21 11:43:19
一、.net是什么.net是微软搭建的开发者平台,主要包括:1.支持(面向)该平台的编程语言(如c#、visual basic、c++/cli、f#、ironpython、ironruby...),2...

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

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