Frage

Ich bin ein Experte C # 3 / .NET 3.5 Programmierer tun einige Laufzeit starten codegen mit System.Reflection.Emit.DynamicMethod suchen. Ich würde gerne auf die nächste Ebene zu bewegen, indem sie mit IL vertraut zu werden.

Alle Zeiger (pun intended)?

War es hilfreich?

Lösung

Der beste Weg, es zu lernen, etwas, das Sie zu schreiben, ist zu verstehen, dann Blick auf die IL es erstellt. Auch, je nachdem, was Sie tun, können Sie Ausdruck Bäume statt emittierende IL verwenden, und dann, wenn Sie die Ausdrucksbäume zusammenstellen, diese smarten Jungs bei Microsoft schaffen die IL für ya.

Andere Tipps

Neben Darren Antwort, würde ich vorschlagen, Kommissionierung oder ein Spielzeug Sprache zu erfinden, und einen einfachen Compiler für sie zu schreiben. Wählen Sie etwas, das wenig Parsing erfordert, wie BF oder eine Stack-basierte Sprache, und Sie werden feststellen, dass ein Compiler zu schreiben ist eigentlich einfacher als es scheint.

.NET Reflector ist für die IL von C # produziert Prüfung /VB.NET.

Es ist ein wunderbares Lernwerkzeug.

Die ECMA 335-Spezifikation ist hier zum Download frei verfügbar: http://www.ecma-international.org/publications/standards/Ecma -335.htm

Partition III ist die relevanteste für mit MSIL zu tun, aber ich würde stark Partition mich auch für jeden .NET-Entwickler empfehlen, da es sehr Verständnis der Plattform verfestigen wird.

Expert .NET 2.0 IL Assembler. Obwohl dieses Buch eine sein kann wenig jetzt datiert, ist es für mich immer noch eine große Übersicht war.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top