【问题标题】:C# compiling to MSIL codeC# 编译为 MSIL 代码
【发布时间】:2009-10-29 18:26:39
【问题描述】:

Microsoft C# 编译器 (CSC.exe) 是否有输出中间语言文件的选项?有点像 GCC 中的 -S 开关?

【问题讨论】:

    标签: c# cil csc intermediate-language


    【解决方案1】:

    您可以使用ildasm.exe 从 csc.exe 编译的程序集中提取 IL。

    【讨论】:

    • 感谢@jdk 的链接。我更新了我的答案以直接链接到那里。
    【解决方案2】:

    您的最终可执行文件和 DLL 存储在 IL 中。

    要明白我的意思,请下载 .NET Reflector,打开您的 DLL 或可执行文件之一,然后将语言切换为 IL。它还将为您完成将 IL 转换为 C# 的过程。

    【讨论】:

    • DLL 不存储在 IL 中。它们存储在字节码中,对吧?
    • .net 中没有字节码之类的东西。
    • 根据en.wikipedia.org/wiki/Common_Intermediate_Language,这有点令人困惑。 CIL 和字节码几乎是一样的,无论哪种方式都是 JITed 到本机代码,而不是直接编译成本机字节码。
    • 一般虚拟机的二进制代码称为“字节码”,但ECMA CLI规范并没有真正使用这个术语。它被称为二进制 MSIL 或二进制 IL。
    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 2010-11-26
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多