![]() |
1
4
JIT编译器负责引导程序集的加载,以响应将IL转换为机器代码。类型方法调用首先转换为调用存根函数。调用时,此存根激活JIT编译器以加载IL(必要时加载程序集)并对其进行转换。非常随需应变。 此过程中的一个问题是通过Ngen.exe运行的程序集,所有.NET framework程序集在安装到计算机上时都是通过Ngen.exe运行的。这在首次加载程序集时检测到。然后JIT编译器跳过翻译步骤,按原样使用预翻译的机器代码。虽然这将加载程序集生成的所有机器代码,但它仍然是按需加载的。术语“加载”在这里是相对的,Windows使用内存映射文件将本机映像映射到虚拟内存空间。在代码执行到达尚未映射到RAM的内存页之前,不会从文件中读取实际字节。这方面的技术术语是“页面错误”,它在Taskmgr.exe中可见。 |
![]() |
2
3
当需要在程序集中定义的类型时,将解析从属程序集。因此,程序集是按需加载的。 |
![]() |
3
3
从…起 here
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |