如果您不了解 Phoenix,它是 Microsoft 的一个编译器框架,显然它将成为他们所有新编译器的基础。它可以读取来自 CIL、x86、x64 和 IA64 的代码;并以 x86、x64、IA64 或 CIL 发出代码。
我可以使用它来将纯 .Net 应用程序转换为纯本机应用程序吗?我的意思是,它不必加载任何 .Net .dll(甚至不是 mscoree),并且具有相同的语义?当然,这不包括反射。
如果您不了解 Phoenix,它是 Microsoft 的一个编译器框架,显然它将成为他们所有新编译器的基础。它可以读取来自 CIL、x86、x64 和 IA64 的代码;并以 x86、x64、IA64 或 CIL 发出代码。
我可以使用它来将纯 .Net 应用程序转换为纯本机应用程序吗?我的意思是,它不必加载任何 .Net .dll(甚至不是 mscoree),并且具有相同的语义?当然,这不包括反射。
在不了解 Phoenix 的情况下,为了让 .NET 应用程序在本地运行,您还需要框架的本地版本,除非您不使用框架(这几乎是不可能的)。
CLR 还包括垃圾收集、程序集加载等,因此转储 CLR 的解释部分可能不会对 .NET 应用程序的性能产生太大影响。
此外,来自凤凰常见问题解答:
问:如何从本机图像重定向到 MSIL 图像(反之亦然)?
A. 不是很容易。这不是一个受支持的场景,虽然理论上可能是可行的,但我们不知道有谁实际做过。