2011-12-29 25 views

回答

6

當像C#這樣的高級語言沒有提供您需要的精度或功能時,您可能希望直接在那些(很少見)情況下使用IL。

例如,System.Dynamic中有一些功能是從IronPython等動態語言中使用的,不易在C#中使用。直接使用IL可以幫助您在需要混合語言的情況下,也許可以爲第三方庫。

另一方面,到IL的拆卸可以非常有用,因爲您可以準確找到編譯器爲您的C#程序生成的代碼。例如,這對於微優化性能問題是非常寶貴的。

+0

謝謝Jeremy McGee! – 2011-12-29 13:30:42

+0

@WAPGuy你應該*接受*幫助你的答案。 – 2011-12-30 00:39:09

5

ilasm.exe - MSIL彙編 - 是一個Common Intermediate Language編譯爲.NET Framework的本機彙編語言(= CIL或IL或MSIL的簡稱)。

該工具通過編譯IL彙編源文件來生成可執行文件。它不會生成任何「IL文件」。與之相反的是ildasm.exe - MSIL反彙編程序 - 反過來:將.NET可執行文件反編譯爲其IL源代碼。