我有一个主要问题和两个小问题都是相关的。首先,ngen.exe实际编译为可以分发的本地exes吗?关于ngen.exe知之甚少。其次,实际上有一种方法可以将.net编译为本机x86代码,即使它们仍然依赖于.net框架。最后,使用mono,您可以编译为本机代码,只需将您的项目从VS“chucking”到单声道?
答案 0 :(得分:0)
简短回答:是的。当您启动一个非NGEN的.NET应用程序时,当您第一次执行某个方法时,它会被编译为本机代码。 .NET虚拟机不执行MSIL,它只执行本机代码。 NGEN所做的是它预先完成所有这些工作。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/6t9t5wcf(v=vs.80).aspx。