【发布时间】:2016-08-18 05:03:47
【问题描述】:
当我在谷歌搜索时,有一个名为 ILDASM 的工具可以找到 IL 代码。但我想了解更多信息。
1) 哪个是 IL 代码?
2) 哪个是PE Header?
3) CLR 如何将 IL 和 PE 转换为 Native 代码?
提前致谢。
【问题讨论】:
标签: c# .net compilation frameworks clr
当我在谷歌搜索时,有一个名为 ILDASM 的工具可以找到 IL 代码。但我想了解更多信息。
1) 哪个是 IL 代码?
2) 哪个是PE Header?
3) CLR 如何将 IL 和 PE 转换为 Native 代码?
提前致谢。
【问题讨论】:
标签: c# .net compilation frameworks clr
要回答 1 和 2,以及有关 PE 标头和 CLR 加载程序的更深入信息,请阅读 Simon Cooper 在 simple-talk.com 上的系列文章。该系列名为“网络程序集的剖析”,他很好地解释了 PE 在哪里指定了 .net 程序集以及所有 clr 人员和元数据存在的位置。
3) 关于 IL,有一个即时 (JIT) 编译器,可以及时获取每个方法并将其编译为本机代码。
我不明白你关于使 PE 原生的最后一点。 PE 是 Windows 操作系统中的可移植可执行文件,不仅适用于 .net 程序集。对于 .net,它包含与 CLR 相关的字节部分。
【讨论】: