sexta-feira, 25 de outubro de 2013

Entendendo os fundamentos do MSIL e Common Language InfraStructure(CLI)

Olá, hoje não vou postar nenhum código, irei falar sobre o gerenciamento do processo de compilação.

O gerenciamento de processos  de compilação incluem os seguintes passos:

Primeiro de tudo para obter as vantagens da CLR, precisamos de uma ou mais linguagens de programação para serem compiladas (C#, VB, F#...).

Compilando o seu código é traduzido em MSIL (Microsoft intermediate language) e gera a METADATA necessária.

Durante o tempo de execução o compilador JIT (just in time) traduz o MSIL em código nativo e durante a compilação o código passa por verificação na qual o processo examina se o código MSIL e o METADATA ou o código podem ser considerados seguros.

O CLR fornece a infraestrutura que habilita a execução e pega o local e serviços que podem ser usados durante a execução

O MSIL inclui instruções para carregar, armazenar, inicializar e chamar métodos, quando o compilador produz o MSIL ele também gera o METADATA.

Cada método criado pelo MSIL é compilado pelo JIT quando chamado pela primeira vez e então executa, na próxima vez que método for chamado, o código nativo existente é executado, o processo de compilação JIT e  execução é repetido até a execução ser concluída.

A propósito o gerenciamento de memória é feito automaticamente durante este processo. :)

Fonte: http://msdn.microsoft.com/en-us/library/k5532s8a.aspx#choosing_a_compiler