Compartilhar via


Código em Execução

O Common Language Runtime fornece a infraestrutura para uma execução gerenciada bem como para uma variedade de serviços que podem ser usados durante a execução.Antes que um método possa ser executado, ele deve ser compilado para o código específico do processador.Cada método para o qual foi gerada a Microsoft Intermediate Language (MSIL) é compilado Just-In-Time (JIT-Compiled) quando é chamado pela primeira vez e, então, é executado.Na próxima vez em que o método for executado, o código nativo JIT-Compiled existente é executado.O processo de compilação JIT seguido da execução do código é repetido até que a execução esteja concluída.

Durante a execução, o código gerenciado recebe serviços como, coleta de lixo, segurança, interoperabilidade com código não gerenciado, suporte a depuração entre linguagens e suporte avançado a implantação e a versionamento.

No Windows XP e no Windows Vista, o carregador do sistema operacional procura por módulos gerenciados examinando um bit no cabeçalho COFF.Se o bit estiver definido, o módulo é gerenciado.Se o carregador de detectar módulos gerenciados, ele carrega mscoree.dll e _CorValidateImage e _CorImageUnloading notificar o carregador quando as imagens de módulo gerenciado são carregadas e descarregadas. _CorValidateImage executa as seguintes ações:

  1. Assegurar que o código é um código gerenciado válido.

  2. Alterar o ponto de entrada na imagem para um ponto de entrada no ambiente de execução.

No Windows de 64 bits, _CorValidateImage modifica a imagem que está na memória transformando-a do formato PE32 para o formato PE32+.

Consulte também

Conceitos

Processo de Execução Gerenciada

Outros recursos

Segurança no .NET Framework

Interoperação com Código Não-Gerenciado

Implantando aplicativos .NET Framework