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

时间:2011-12-29 13:02:10

标签: .net clr

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:5)

ilasm.exe - MSIL汇编程序 - 是.NET Framework的本机汇编语言(= CIL或IL或MSIL)的 Common Intermediate Language编译器

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