从.NET生成的IL文件有什么用(使用MSIL assembler- ilasm.exe)?

Tam*_*ran 3 .net clr

从.NET生成的IL文件有什么用(使用MSIL assembler- ilasm.exe)?

我从http://msdn.microsoft.com/en-us/library/496e4ekx.aspx上读到它, 但我不确定是否使用从.NET生成的IL文件(使用MSIL assembler- ilasm.exe).任何人都可以解释一下吗?

Jer*_*Gee 6

当C#等高级语言无法提供您需要的精度或功能时,您可能希望直接在那些(当然很少见)情况下使用IL.

例如,有些功能System.Dynamic使用的是动态语言,如IronPython,不能在C#中轻松使用.直接使用IL可以帮助您在需要混合语言的情况下,也许可以帮助第三方库.

另一方面,反汇编到IL非常有用,因为您可以准确地找到编译器为您的C#程序生成的代码.例如,这对于微优化性能问题非常有用.


Ond*_*cny 5

ilasm.exe- MSIL汇编程序 - 是.NET Framework的本机汇编语言(= CIL或IL或MSIL)的通用中间语言编译器.

此工具通过编译IL程序集源文件生成可执行文件.它不会生成任何"IL文件".相反的是ildasm.exe- MSIL反汇编程序 - 反过来:将.NET可执行文件反编译为其IL源.