如果我运行.NET编译器,它会生成一个包含中间语言代码(IL)的文件并将其放入.exe文件(例如).
如果我使用像ildasm这样的工具,它会再次显示IL代码.
但是,如果我直接写入文件IL代码,那么我可以使用ilasm生成.exe文件.
它包含什么?IL代码又来了吗?IL代码与IL汇编代码不同吗?
IL代码和IL汇编之间有区别吗?
是的,它们之间存在很大差异,因为:
(IL)也称为Microsoft中间语言或通用中间语言可以被认为与Java语言生成的字节代码非常相似,我认为您在您的问题中将其称为IL代码.
(ILAsm)具有与本机汇编语言相同的指令集.您可以在任何文本编辑器(如记事本)中为ILAsm编写代码,然后可以使用.NET框架提供的命令行编译器(ILAsm.exe)来编译它.
我认为IL Assembly可以被认为是一种完全成熟的.NET语言(可能是一种中间语言),因此当您使用ILAsm.exe编译ILAsm时,您生成IL的方式与C#编译器完全相同(步骤少)用C#代码......
正如评论中所述,IL Assembly基本上是.NET Byte Code的人类可读版本.