私はまだどのコードがMSILと呼ばれているのか混乱しています。
他のコンパイラの中でも、C#はアセンブリを生成します。ILASMはアセンブリも作成します。それらのアセンブリにはMSILが含まれていますか?
アセンブリを入力として取得するときにILDASMによって生成されるコードはどうですか?生成されたコードはMSILと呼ばれていますか?
私はまだどのコードがMSILと呼ばれているのか混乱しています。
他のコンパイラの中でも、C#はアセンブリを生成します。ILASMはアセンブリも作成します。それらのアセンブリにはMSILが含まれていますか?
アセンブリを入力として取得するときにILDASMによって生成されるコードはどうですか?生成されたコードはMSILと呼ばれていますか?
MSIL=Microsoft中間言語
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アセンブラ(ILASM)は、ILを取得してアセンブリを生成できます。
ILDASMは逆アセンブラです。IL(MSIL)を文書化した詳細については、こちらをご覧ください。