Linguagem Intermediária Comum
| Linguagem de programação Common Intermediate Language | |
|---|---|
| Autor | Microsoft |
| Data de origem | 2000 |
| Paradigmas | programação orientada a objetos |
| Influenciado por | Java |
| Implementação de referência | |
| Local na rede Internet | docs.microsoft.com/en-us/dotnet/welcome |
A Linguagem Intermediária Comum (CIL), na linguagem intermediária comum italiana , é a linguagem de programação de nível mais baixo fornecida pela plataforma .NET e pela Common Language Infrastructure . Quando uma linguagem é suportada pela plataforma .NET, significa que existe um compilador que traduz os programas escritos nessa linguagem em instruções CIL, que, portanto, tem o mesmo papel que o bytecode tem no mundo Java . CIL é uma linguagem assembly orientada a objetos e é completamente baseada em pilha. Ele é então compilado em código de máquina em tempo real por um Jit ( compilador just-in-time ) e então executado; isso acontece na primeira inicialização do programa, após o qual a plataforma .Net armazenará o executável já compilado em uma pasta especial para acelerar futuras partidas. As principais linguagens .NET são C# , F# , Visual Basic .NET e Managed C++ , no entanto foram desenvolvidas várias linguagens que utilizam o poder da plataforma .Net incluindo Robin e Minsk.
Durante a fase beta das linguagens .NET, CIL era conhecido como MSIL , ou seja, Microsoft Intermediate Language , em italiano "Microsoft Intermediate Language".
O principal uso da plataforma seria fornecer aos desenvolvedores ferramentas que facilitassem o trabalho de escrever programas elaborados como compiladores. CIL faz o trabalho exponencialmente, suportando orientação a objetos, tipos primitivos com métodos, instanciando arrays e objetos com poucas instruções, e suporte para uso de constantes que o assembly x86 não suporta, como objetos, strings e outros tipos primitivos.
Exemplos
Exemplo Olá mundo
.assembly externo mscorlib {}
.assembly CiaoMondo {}
.method public hidebysig static void Main () cil gerenciado
{
.ponto de entrada
ldstr "Olá mundo."
call void [mscorlib] System.Console :: WriteLine (string)
ret
}
Exemplo de variáveis locais
.assembly externo mscorlib {}
.assembly CiaoMondo {}
.method public hidebysig static void Main (string [] args) cil managed
{
.ponto de entrada
.locals init (
[0] encadeie um
)
ldstr "s" // pilha ["s"]
stloc.0 // armazena na memória local no índice 0 (a)
// pilha []
ldloc.0 // carrega a variável local na pilha no índice 0 (a)
// pilhas"]
call void [mscorlib] System.Console :: WriteLine (string)
ret
}
Exemplo de função como parâmetro
.assembly externo mscorlib {}
.assembly CiaoMondo {}
.method public hidebysig static void Main () cil gerenciado
{
.ponto de entrada
string de chamada [mscorlib] System.Console :: ReadLine()
call void [mscorlib] System.Console :: WriteLine (string)
ret
}
Links externos
- Site oficial , em docs.microsoft.com .