我仍然对哪个代码被称为 MSIL 感到困惑。
在其他编译器中,C# 生成程序集。ILASM 还生成一个程序集。那些程序集包含 MSIL?
将程序集作为输入时,ILDASM 生成的代码如何?生成的代码叫MSIL吗?
我仍然对哪个代码被称为 MSIL 感到困惑。
在其他编译器中,C# 生成程序集。ILASM 还生成一个程序集。那些程序集包含 MSIL?
将程序集作为输入时,ILDASM 生成的代码如何?生成的代码叫MSIL吗?
MSIL = 微软中间语言
MSIL 是所有 .NET 编译器的输出。它可以表示为 MSIL 程序集代码或二进制形式 - 后者是您在已编译程序集中找到的内容。
MSIL 是 C# 将代码编译成的“类似机器代码”的语言。
CLR 是 MSIL 运行的“机器”。
运行 MSIL 时,CLR 使用 JIT 将您的代码转换为真正的机器代码。
真正的机器代码在您计算机的实际 CPU 上运行。
MSIL 汇编程序(Ilasm.exe) 从 Microsoft 中间语言( MSIL) 生成可移植可执行 (PE) 文件。ILDASM 是反汇编程序。
PE 格式用于 EXE、DLL、SYS(设备驱动程序)和其他文件类型。
C# 编译器生成一个程序集。程序集包含元数据和 MSIL。VB.NET(现在简称为 VB)生成同样的东西。C/C++ 编译器也可以创建 MSIL。IL Assembler (ILASM) 可以获取 IL 并生成一个程序集。
ILDASM 是一个反汇编程序。您可以在此处找到记录 IL (MSIL) 的详细信息。