Pergunta

Alguém conhece bons recursos para aprender como programar CIL com descrições detalhadas de comandos, etc.?Eu olhei em volta, mas não encontrei nada particularmente bom.

Foi útil?

Solução

O único livro CIL na minha estante é Montador especialista em .NET 2.0 IL por Serge Lidin.Em termos do que os opcodes individuais fazem ou significam, a documentação da Microsoft em System.Reflection.Emit contém algumas informações muito boas.E é sempre útil examinar a IL existente com Refletor.

Editar: O CIL (e de fato o CLR em geral) não mudou em nada entre o .NET 2.0 e o .NET 3.5 - o tempo de execução subjacente é basicamente o mesmo, correções de módulo e melhorias de desempenho.Portanto, não há nada mais recente disponível no nível CIL do que o que estaria em um livro sobre 2.0

Outras dicas

Montador especialista em .NET 2.0 IL arrasa porque o autor escreve bem e inclui todos os detalhes que você pode imaginar.Não faz mal que ele tenha escrito o montador, desmontador e validador do IL.O melhor de tudo é que você pode comprá-lo em PDF em vez de em uma árvore morta.

Masoquistas interessados ​​no desenvolvimento de compiladores também irão gostar Compilando para o .NET Common Language Runtime por John Gough.Achei este livro imensamente útil durante um projeto de desenvolvimento de máquina virtual onde “roubei” muitas ideias do design do CLR.

Montador especialista em .NET 2.0 IL por Serge Lidin

Havia uma versão 1.1 do mesmo livro, mas não vi nada da versão mais recente do .NET.É um livro excelente.Usei-o para escrever um componente OCR em MSIL, como um projeto de aprendizagem.

[Editar] @Curt está certo, 3.0 e 3.5 são apenas extensões do 2.0, eu ainda não tinha colocado isso na minha cabeça.Agora pensei em um projeto geek divertido...compare a desmontagem do código padrão 2.0 com a nova maneira LINQ/Lambda de executar tarefas comuns, como filtrar listas.Por alguma razão, presumi que a mágica estava acontecendo nos novos recursos do IL, não apenas no compilador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top