有没有办法将.NET程序集编译为本机代码(即x86)输出,即没有MSIL。
根据我的理解,如果你只是将x86指定为体系结构,那么只会更改PE标头指向JIT,但程序集仍将包含MSIL,并将根据需要进行JITT。
NGen确实为指定的体系结构生成汇编文件,但它不是编译器,它的目的是提高性能但是你仍然需要原始的DLL,本机映像的存在只能避免JIT编译汇编但是你无法获得原生图像并使用它,可以吗?
那么,有没有办法从.NET实际编译到本地机器代码?
有没有办法将.NET程序集编译为本机代码(即x86)输出,即没有MSIL。
根据我的理解,如果你只是将x86指定为体系结构,那么只会更改PE标头指向JIT,但程序集仍将包含MSIL,并将根据需要进行JITT。
NGen确实为指定的体系结构生成汇编文件,但它不是编译器,它的目的是提高性能但是你仍然需要原始的DLL,本机映像的存在只能避免JIT编译汇编但是你无法获得原生图像并使用它,可以吗?
那么,有没有办法从.NET实际编译到本地机器代码?
您可以使用名为.NET Native的新预编译技术来完成此操作。看看这里: http://msdn.microsoft.com/en-US/vstudio/dotnetnative
目前,它仅适用于Windows应用商店应用。它执行单个组件链接。因此.NET Framework库静态链接到您的应用程序。所有内容都编译为本机,不再部署IL程序集。
Spoon Studio(之前被命名为Xenocode)似乎能够做到这一点: http://spoon.net/Studio/Features.aspx
RemoteSoft也有产品,但网站看起来很旧: http://www.remotesoft.com/linker/