2008-09-30 12 views

Respuesta

5

La mejor manera de aprenderlo es escribir algo que comprenda y luego ver el IL creado. Además, dependiendo de lo que esté haciendo, puede usar árboles de expresión en lugar de emitir IL, y luego cuando compila los árboles de expresión, esos tipos inteligentes en microsoft crean el IL para usted.

+0

Árboles de expresión FTW! ¡No había pensado en eso! ¡Gracias! – TheSoftwareJedi

5

.NET Reflector es ideal para examinar el IL producido por C#/VB.NET.

Es una maravillosa herramienta de aprendizaje. especificación

+0

Lo uso todo el tiempo, pero lo tengo descompilando en C# - gran consejo, ¡gracias! – TheSoftwareJedi

5

El ECMA 335 está disponible gratuitamente para su descarga aquí: http://www.ecma-international.org/publications/standards/Ecma-335.htm

partición III es el más relevante para hacer frente a MSIL, pero recomiendo encarecidamente partición I, así como para cualquier desarrollador de .NET como lo hará solidificar en gran medida la comprensión de la plataforma.

+0

Quería mencionar que, en las últimas semanas, también he querido profundizar en los cuencos de .Net y aprender sobre el código CIL. El mejor documento que puedo encontrar es la especificación. Desafortunadamente, todavía no he encontrado un sitio sólido "Teach CIL" que tenga suficiente información para ser competente en MSIL. Si desea documentación sólida, la especificación parece ser el mejor lugar para ir. – RLH

6

Además de la respuesta de Darren, sugiero elegir o inventar un lenguaje de juguete, y escribir un compilador simple para ello. Elija algo que requiera poco análisis, como BF o un lenguaje basado en pila, y encontrará que escribir un compilador es más simple de lo que parece.

Cuestiones relacionadas