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

所属分类: 软件编程 / C#教程 阅读数: 135
收藏 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#实现写系统日志的方法

这篇文章主要介绍了C#实现写系统日志的方法,涉及C#针对系统日志的创建、写入及删除等技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#编程实现自定义热键的方法

这篇文章主要介绍了C#编程实现自定义热键的方法,涉及C#键盘按键设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现读取被进程占用的文件实现方法

这篇文章主要介绍了C#实现读取被进程占用的文件实现方法,涉及C#进程操作及文件读取的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#获取任务栏显示进程的方法

这篇文章主要介绍了C#获取任务栏显示进程的方法,涉及C#针对进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#调用dos窗口获取相关信息的方法

这篇文章主要介绍了C#调用dos窗口获取相关信息的方法,涉及C#调用dos窗口及进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#通过Semaphore类控制线程队列的方法

这篇文章主要介绍了C#通过Semaphore类控制线程队列的方法,涉及Semaphore类操作线程队列的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用Dispose模式实现手动对资源的释放

这篇文章主要介绍了C#使用Dispose模式实现手动对资源的释放,涉及C#采用Dispose模式操作资源的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#动态创建button的方法

这篇文章主要介绍了C#动态创建button的方法,涉及C#按钮属性动态设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#编程获取资源文件中图片的方法

这篇文章主要介绍了C#编程获取资源文件中图片的方法,涉及C#针对项目中资源文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WinForm实现窗体最大化并遮盖任务栏的方法

这篇文章主要介绍了WinForm实现窗体最大化并遮盖任务栏的方法,涉及C#实现WinForm窗体全屏显示的实现及调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多