如果您不了解 Phoenix,它是 Microsoft 的一个编译器框架,显然将成为其所有新编译器的基础。它可以读取 CIL、x86、x64 和 IA64 的代码;并以 x86、x64、IA64 或 CIL 发出代码。
我可以用它来将纯 .Net 应用程序转换为纯 native 应用程序吗?我的意思是,它不必加载任何 .Net .dll(甚至不必加载 mscoree),并且具有相同的语义?当然,这不包括反射。
最佳答案
如果不太了解 Phoenix,为了让 .NET 应用程序在 native 运行,您还需要该框架的 native 版本,除非您不使用该框架(这几乎是不可能的)。
此外,CLR 还包括垃圾收集、程序集加载等,因此转储 CLR 的解释部分可能不会对 .NET 应用程序的性能产生太大影响。
另外,来自凤凰城 FAQ :
Q. How do I retarget from a native image to an MSIL image (or vice-versa)?
A. Not very easily. This is not a supported scenario, and while it might be theoretically possible, we do not know of anyone who has actually done it.
关于.net - 能否将 Phoenix 编译器用作更强大的 NGEN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/101452/