19

私は C# 3 / .NET 3.5 のエキスパートで、System.Reflection.Emit.DynamicMethod を使用してランタイム コード生成を開始しようとしています。IL に親しむことで、次のレベルに進みたいと思っています。

ポインタはありますか(しゃれが意図されています)?

4

5 に答える 5

6

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

于 2008-10-01T08:55:22.693 に答える
5

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

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

于 2008-09-30T22:47:44.167 に答える
5

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

パーティション III は MSIL の処理に最も適していますが、.NET 開発者にはパーティション I も強くお勧めします。これにより、プラットフォームの理解が大幅に強化されます。

于 2008-10-01T07:47:52.560 に答える
5

それを学ぶための最良の方法は、理解できるものを書いてから、作成された IL を確認することです。また、実行内容によっては、IL を発行する代わりに式ツリーを使用できます。式ツリーをコンパイルすると、Microsoft の賢い人たちが IL を作成します。

于 2008-09-30T22:28:01.080 に答える
3

エキスパート .NET 2.0 IL アセンブラー。この本は今では少し古いかもしれませんが、それでも私にとっては素晴らしい概要でした.

于 2008-09-30T22:31:21.367 に答える