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