O Common Language Runtime é uma máquina virtual que gerencia a execução de aplicações .NET.
Faz parte do .NET Framework e executa código escrito em qualquer linguagem suportada pelo .NET, pois eles são compilados para uma linguagem intermediária única (CIL).
Vamos ver neste artigo como funciona este importante componente do .NET Framework.
Common Language Runtime (CLR)
O Common Language Runtime (CLR) é o componente do .NET Framework responsável pelo gerenciamento da execução de programas gravados em qualquer uma das várias linguagens suportadas, permitindo que eles compartilhem classes comuns orientadas a objetos escritos em qualquer um dos idiomas.
Podemos comparar o Common Language Runtime com a máquina virtual Java que a Sun Microsystems fornece para executar programas compilados a partir da linguagem Java.
A Microsoft chama o Common Language Runtime como um “ambiente de execução gerenciado.” Um programa compilado para o CLR não precisa de um ambiente de execução específico do idioma e pode ser movido facilmente para ser executado em qualquer sistema suportado pelo .NET Framework.
CIL – Common Intermediate Language (Linguagem Intermediária Comum)
Os programadores que escrevem em qualquer uma das linguagens suportadas, como Visual Basic ou C# compilam seus programas em uma forma intermediária de código chamado Common Intermediate Language (CIL – Linguagem Intermediária Comum) em um arquivo de execução portátil (PE – Portable Execution) que pode ser gerenciado e executado pelo Common Language Runtime.
O programador e o ambiente especificam informações descritivas sobre o programa quando ele é compilado e as informações são armazenadas no programa compilado como metadados.
Metadados armazenados no programa compilado informam ao CLR qual idioma foi usado, sua versão e quais bibliotecas de classes serão necessárias pelo programa.
O Common Language Runtime permite que uma instância de uma classe escrita em um idioma para chamar um método de uma classe escrita em outro idioma. Ele também fornece coleta de lixo (Garbage Collector), manipulação de exceção (exception handling) e serviços de depuração (debugging services).
Palavras finais
- O Common Language Runtime (CLR) gerencia a memória, execução de threads, execução de código, verificação de segurança de código, compilação e outros serviços de sistema.
- Esses recursos são intrínsecos ao código gerenciado que é executado no Common Language Runtime.
- No que diz respeito à segurança, os componentes gerenciados recebem diversos graus de confiança.
- Isso significa que um componente gerenciado pode ou não ser capaz de executar operações de acesso a arquivos, operações de acesso ao registro ou outras funções sensíveis, mesmo que esteja sendo usado no mesmo aplicativo ativo.
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!
E veja também outros artigos da série .NET Framework – Debaixo do capô:
.NET Framework – Como Funciona – Introdução
Garbage Collector – Conceitos – .NET Framework