自学内容网 自学内容网

C#热更原理与HybridCLR

一、Mono的诞生

在Mono之前,C#虽然很好,但是只在windows家族平台上使用,就这点C#与Java就无法比。于是微软公司向ECMA申请将C#作为一种标准。在2001年12月,ECMA发布了ECMA-334 C#语言规范。C#在2003年成为一个ISO标准(ISO/IEC 23270)。意味着只要你遵守CLI(Common Language Infrastructure),第三方可以将任何一种语言实现到.Net平台之上。有了CLI的标准,Mono就诞生了, 该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和通用语言架构。与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360之上。Mono使得C#这门语言相对于微软的.Net有了很好的跨平台能力。

二、字节码与机器码

我们先简单讲讲字节码跟机器码的概念:
字节码

  • 字节码是平台无关的,这意味着同一套字节码可以在不同的硬件和操作系统上运行,只要有相应的虚拟机支持。
  • 它不是直接由硬件执行的,而是由虚拟机(如Java的JVM或.NET的CLR)解释或即时编译(JIT)成机器码。
  • 字节码是一种中间代码形式,通常在编译器将源代码编译成机器码之前生成。

机器码


原文地址:https://blog.csdn.net/sindyra/article/details/144128728

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!