Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法将代码直接编译为 Native Code 而不是 MSIL,这样我们就可以在机器上执行代码时绕过 JIT。如果它是可能的。也请让我知道这项技术。
谢谢
将 MSIL 编译为本机代码 Ngen.exe
概括: 运行时提供另一种编译模式,称为安装时代码生成。安装时代码生成模式将 MSIL 转换为本机代码,就像常规 JIT 编译器一样,但它一次转换更大的代码单元,存储生成的本机代码以供随后加载和运行程序集时使用。使用安装时代码生成时,正在安装的整个程序集将转换为本机代码,同时考虑到已安装的其他程序集的已知信息。
概括:
运行时提供另一种编译模式,称为安装时代码生成。安装时代码生成模式将 MSIL 转换为本机代码,就像常规 JIT 编译器一样,但它一次转换更大的代码单元,存储生成的本机代码以供随后加载和运行程序集时使用。使用安装时代码生成时,正在安装的整个程序集将转换为本机代码,同时考虑到已安装的其他程序集的已知信息。
看看 -如何将 .NET 应用程序编译为本机代码?
在我熟悉的 .NET 语言中,源代码直接编译为MSIL. JIT随后将代码编译为本机IL代码。
MSIL
JIT
IL