2008-09-04 12 views
9

¿Alguien conoce algún recurso para aprender a programar CIL con descripciones detalladas de comandos, etc.? Miré alrededor pero no encontré nada particularmente bueno.Learning CIL

Respuesta

18

El único libro de CIL en mi estante es Expert .NET 2.0 IL Assembler por Serge Lidin. En términos de lo que hacen o quieren decir los códigos de operación individuales, la documentación de Microsoft sobre System.Reflection.Emit tiene bastante información. Y siempre es útil mirar IL existente con Reflector.

Editar: CIL (y de hecho el CLR en general) no ha cambiado en absoluto entre .NET 2.0 y .NET 3.5 - el tiempo de ejecución subyacente es básicamente el mismo, correcciones de módulo y mejoras de rendimiento. Por lo tanto, no hay nada más nuevo disponible en un nivel CIL que lo que sería en un libro en 2.0

+0

Desafortunadamente .NET IL Assembler es su único libro disponible en Kobo. ¿Vale la pena leerlo o debería obtener el experto .NET 2.0 uno? –

1

Expert .NET 2.0 IL Assembler by Serge Lidin

No era una versión 1.1 del mismo libro, pero no he visto nada de la última versión .NET. Es un excelente libro. Lo usé para escribir un componente de OCR en MSIL, como un proyecto de aprendizaje.

[Editar] @Curt tiene razón, 3.0 y 3.5 son solo extensiones a 2.0, todavía no lo había conectado a mi cabeza. Ahora que he pensado en un divertido proyecto geek ... comparo el desmontaje del código estándar 2.0 con la nueva forma LINQ/Lambda de realizar tareas comunes como filtrar listas. Por alguna razón, asumí que la magia estaba sucediendo en las nuevas funciones de IL, no solo en el compilador.

4

Expert .NET 2.0 IL Assembler rocas porque el autor escribe bien e incluye todos los detalles volátiles que pueda imaginar. No está de más que haya escrito el ensamblador, el desensamblador y el validador de IL. Lo mejor de todo es que puedes comprarlo en un PDF en lugar de en un árbol muerto.

Los masoquistas interesados ​​en el desarrollo de compiladores también disfrutarán de Compiling for the .NET Common Language Runtime de John Gough. Encontré este libro inmensamente útil durante un proyecto de desarrollo de máquina virtual donde "robé" muchas ideas del diseño de CLR.

+0

gracias por el consejo del libro. – frameworkninja