gpt4 book ai didi

.net - .NET core 如何在多种环境中运行?

转载 作者:行者123 更新时间:2023-12-01 01:47:58 26 4
gpt4 key购买 nike

.NET 核心如何设法在多个操作系统中运行相同的 DLL?

现在,您必须在要运行应用程序的环境中安装 .NET 核心。

但我不太了解 .NET 核心在幕后真正执行的工作。

它是在第一次运行之前编译为 native ,还是在底层系统中解释每个命令并执行每个命令?

最佳答案

.Net core 是一种 JIT 编译的 VM 语言。 dll 基本上包含一种字节码形式。这适用于所有 .Net 实现,而不仅仅是 .Net Core。字节码在运行时根据需要被 JIT 编译成 native 代码。 [还有一个叫做 NGEN 的进程,它允许这个字节码 -> 本地编译提前发生]。与传统 .Net => .Net core 的变化更多是关于移除底层库系统和运行时的 OS 依赖。

JIT(通常)在第一次使用时编译(即它只需要编译实际调用的方法等)并保留编译版本以供重用。如果觉得有必要,它至少可以选择“重新编译”热路径等,并进行更大的优化[我不知道微软的 JIT 目前是否真的这样做过]。

Futher Reading: https://en.wikipedia.org/wiki/Common_Intermediate_Language#Just-in-time_compilation https://www.telerik.com/blogs/understanding-net-just-in-time-compilation http://tirania.org/blog/archive/2012/Apr-04.html

关于.net - .NET core 如何在多种环境中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com