JIT 是否创建包含本机代码的输出?
Does JIT creates an output containing native code?
在作用于程序集(包含元数据和中间语言)的 JIT 编译器上下文中:
程序集是由特定语言编译在磁盘上生成的,以便CLR进行自己的独立编译将MSIL转换为本机代码。编译后是否在磁盘上创建了可见的输出? file/s 包含二进制代码或类似代码?
Here 是一篇非常明确的文章,我在其中找到了答案。基本上,没有输出文件,本机代码在运行时动态存储在内存中。
When managed code calls a particular method, the compiling function wakes up, looks up the intermediate code (processor-agnostic object code that's similar to the machine code), then compiles the intermediate code into instructions for the available processor. The managed code then saves those instructions in a dynamically allocated location in memory. The compiling function points back to the original method so that the two are linked: When the method in the assembly executes, it executes the processor instructions stored in memory.
在作用于程序集(包含元数据和中间语言)的 JIT 编译器上下文中:
程序集是由特定语言编译在磁盘上生成的,以便CLR进行自己的独立编译将MSIL转换为本机代码。编译后是否在磁盘上创建了可见的输出? file/s 包含二进制代码或类似代码?
Here 是一篇非常明确的文章,我在其中找到了答案。基本上,没有输出文件,本机代码在运行时动态存储在内存中。
When managed code calls a particular method, the compiling function wakes up, looks up the intermediate code (processor-agnostic object code that's similar to the machine code), then compiles the intermediate code into instructions for the available processor. The managed code then saves those instructions in a dynamically allocated location in memory. The compiling function points back to the original method so that the two are linked: When the method in the assembly executes, it executes the processor instructions stored in memory.