Mono里运行C#脚本3—mono_jit_init

server/2024/12/28 22:35:05/

前面已经介绍了配置参数的读取,这样就可以把一些特殊的配置读取进来,完成了用户配置阶段的参数,接着下来就需要进行大工程的建造了。

为什么这样说呢,因为需要解释并执行C#编译的受托管的代码,相当于就是建立一个C#代码运行的虚拟机,而这个虚拟机还是很复杂的,不但要支持C#运行各种特性,比如内存管理的垃圾回收机制,还需要对C#的代码进行即时编译,或者提前编译AOT,并且可以根据不同的平台生成不同的代码,比如在X64上生成的代码,与ARM64上生成的代码就会不一样,执行的速度也不一样,处理的方式也不一样。

mono_jit_init是Mono项目中的一个函数,Mono是一个开源的.NET框架实现,它包含了一个JIT(Just-In-Time)编译器,可以运行C#等.NET语言编写的程序。

C#虚拟机通常指的是.NET运行时环境


http://www.ppmy.cn/server/154038.html

相关文章

【Linux】ChatGLM-4-9B模型之All Tools

一、摘要 最近在研究GLM4模型,发现自带的All Tools比较感兴趣,它具有完整工具调用能力的对话模式,原生支持网页浏览、代码执行、图表生成、图片生成,并支持自定义工具。它能够满足大模型私有化部署的个性定制,因此记录…

ADC(二):外部触发

有关ADC的基础知识请参考标准库入门教程 ADC(二):外部触发 1、TIM1的CC1事件触发ADC1DMA重装载2、TIM3的TRGO事件(的更新事件)触发ADC1DMA重装载3、TIM3的TRGO事件(的捕获事件)触发ADC1DMA重装载4、优化TIM3的TRGO事件(的捕获事件)触发ADC1D…

Effective C++ 条款 23:宁以 non-member、non-friend 替换 member 函数

文章目录 条款 23:宁以 non-member、non-friend 替换 member 函数核心思想示例代码注意事项 条款 23:宁以 non-member、non-friend 替换 member 函数 核心思想 更高的封装性 non-member 函数不需要访问类的 private 或 protected 成员,减少对…

vscode添加全局宏定义

利用vscode编辑代码时,设置了禁用非活动区域着色后,在一些编译脚本中配置的宏又识别不了 遇到#ifdef包住的代码就会变暗色,想查看代码不是很方便。如下图: 一 解决: 在vscode中添加全局宏定义。 二 步骤&#xff1a…

Java项目中Oracle数据库开发过程中相关内容

目录 1、连接数据库 2、创建用户和授权 3、统计的时候——把列变成行 4、Oracle12c数据库中,根据时间倒序返回最新一条数据 5、其他SQL相关记录 总结一些和Oracle相关的内容 1、连接数据库 使用oracle12c数据库自带的SQL Plus 链接数据库 打开SQL Plus工具&#xf…

头歌-边缘检测

第1关:边缘检测的基本原理与图像增强 任务描述 本关任务:理解边缘检测的基本概念,掌握 Roberts 算子的原理与操作。 相关知识 为了完成本关任务,你需要掌握: 1.边缘检测的概念; 2. Roberts 算子的原理与操…

Yocto 项目 - 共享状态缓存 (Shared State Cache) 机制

引言 在嵌入式开发中,构建效率直接影响项目的开发进度和质量。Yocto 项目通过其核心工具 BitBake 提供了灵活而强大的构建能力。然而,OpenEmbedded 构建系统的传统设计是从头开始构建所有内容(Build from Scratch),这…

Linux 安装rpm

在Linux银河麒麟系统上安装RPM软件包,可以通过系统自带的RPM包管理工具来完成。以下是一个详细的安装步骤: 一、准备工作 下载RPM软件包: 从可靠的软件源或官方网站下载需要安装的RPM软件包。 打开终端: 需要通过终端&#x…