質問

私は、System.Reflection.Emit.DynamicMethodを使用してランタイムcodegenの実行を開始しようとしているエキスパートC#3 / .NET 3.5プログラマです。 ILに親しくなることで、次のレベルに進みたいです。

ポインタ(しゃれを意図したもの)はありますか?

役に立ちましたか?

解決

それを学ぶための最良の方法は、理解したことを書いて、それが作成したILを見ることです。また、何をしているのかに応じて、ILを発行する代わりに式ツリーを使用できます。そして、式ツリーをコンパイルすると、Microsoftの賢い人がyaのILを作成します。

他のヒント

Darrenの答えに加えて、おもちゃの言語を選択または発明し、そのための簡単なコンパイラを作成することをお勧めします。 BFやスタックベースの言語など、ほとんど解析を必要としないものを選ぶと、コンパイラの記述が実際に見た目よりも簡単であることがわかります。

.NET Reflector は、C#によって生成されたILを調べるのに最適です。 /VB.NET。

これは素晴らしい学習ツールです。

ECMA 335仕様は、ここから無料でダウンロードできます。 http://www.ecma-international.org/publications/standards/Ecma -335.htm

パーティションIIIはMSILの処理に最も関連がありますが、プラットフォームの理解を大きく固めるので、.NET開発者にもパーティションIを強くお勧めします。

エキスパート.NET 2.0 ILアセンブラ。少し日付が付けられましたが、それでも私にとって素晴らしい概要でした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top