.NETの中間言語であるILをVS2019環境で覗く方法をメモります。
本題に入る前に、ILとは
JITコンパイル前のバイトコード。ネイティブコード生成前のバイトコード。
自分はまだ完全理解者でないので、素晴らしい文献を紹介しておきます。
ILを理解するためのおすすめ文献
それでは本題に入ります。
.exeファイルの生成
まずは適当にコードを書いて.exeファイルを生成します。
ここでは”1 + 1″を標準出力するプログラムをコンパイルする事とします。

このプログラムを保存した後、「Developer PowerShell for VS 2019」を起動し、”ls”や”cd”を駆使して先程書いたプログラムが存在するディレクトリへ移動します。

そしてC#で.exeファイルを生成する時におなじみのコマンド
csc .exe化したいファイル名.cs
で.exeファイルを生成します。

ILファイルの生成
次にILファイルを生成します。
ILファイルを生成するときには “ildasm [options] [PEfilename] [options]” というコマンドを使用します。
しっかりと公式ドキュメントを読みたい方はこちらから。
今回は”Test.il“というファイルに生成されるILアセンブラーを格納したいと思うので
ildasm .exeファイル名 /output:Test.il
と入力し、ILファイルを生成します。

おまけ:ILファイルをCatしてみる
生成したILファイルの中身を実際に見てみると、結構楽しいです。
凄腕C#erになるとILファイルを読めるらしいですが、未熟な自分にはまだまだ読めたものではないです、、、

そのうちしっかりとILを読んでみて、C#の気持ちになれたら良いなと思っています。