前面已经介绍了配置参数的读取,这样就可以把一些特殊的配置读取进来,完成了用户配置阶段的参数,接着下来就需要进行大工程的建造了。
为什么这样说呢,因为需要解释并执行C#编译的受托管的代码,相当于就是建立一个C#代码运行的虚拟机,而这个虚拟机还是很复杂的,不但要支持C#运行各种特性,比如内存管理的垃圾回收机制,还需要对C#的代码进行即时编译,或者提前编译AOT,并且可以根据不同的平台生成不同的代码,比如在X64上生成的代码,与ARM64上生成的代码就会不一样,执行的速度也不一样,处理的方式也不一样。
mono_jit_init是Mono项目中的一个函数,Mono是一个开源的.NET框架实现,它包含了一个JIT(Just-In-Time)编译器,可以运行C#等.NET语言编写的程序。
C#虚拟机通常指的是.NET运行时环境