Índice:
- Definição - O que significa Intermediate Language (IL)?
- Techopedia explica o idioma intermediário (IL)
Definição - O que significa Intermediate Language (IL)?
Linguagem intermediária (IL) é uma linguagem de programação orientada a objetos projetada para ser usada pelos compiladores do .NET Framework antes da compilação estática ou dinâmica do código da máquina. O IL é usado pelo .NET Framework para gerar código independente da máquina como saída da compilação do código-fonte gravado em qualquer linguagem de programação .NET.
IL é uma linguagem de montagem baseada em pilha que é convertida em bytecode durante a execução de uma máquina virtual. É definido pela especificação da infraestrutura de linguagem comum (CLI). Como o IL é usado para geração automática de código compilado, não há necessidade de aprender sua sintaxe.
Este termo também é conhecido como linguagem intermediária da Microsoft (MSIL) ou linguagem intermediária comum (CIL).
Techopedia explica o idioma intermediário (IL)
Com a ajuda de um compilador just-in-time (JIT) adequado, o código IL pode ser executado em qualquer arquitetura de computador suportada pelo compilador JIT. Diferentemente dos intérpretes, a compilação JIT fornece melhor desempenho, preserva a memória e economiza tempo durante a inicialização do aplicativo. O IL permite o recurso de independência de plataforma e CPU da estrutura .NET, permitindo que o código-fonte compilado seja executado em qualquer ambiente que suporte a especificação da CLI.
A verificação da segurança do código, para o código IL, fornece melhor segurança e confiabilidade do que os arquivos executáveis compilados nativamente. Os metadados, descrevendo o código MSIL no executável portátil, eliminam a necessidade de bibliotecas de tipos e arquivos de linguagem de definição intermediária, como era usado na tecnologia COM (Component Object Model). Combinado com metadados e um sistema de tipos comuns, o IL forma os meios para integrar módulos escritos em diferentes idiomas em um único aplicativo, permitindo assim a independência do idioma.
Embora a IL seja semelhante ao bytecode Java em seu uso por compiladores, ela difere da última por ser projetada para independência de plataforma e independência de idioma. Também difere por ser compilado e não interpretado.
Dois tipos de conjuntos de instruções estão incluídos no IL; instruções básicas, semelhantes às instruções nativas da CPU e instruções do modelo de objeto usadas pelo idioma de alto nível. O IL inclui todas as instruções necessárias para carregar, armazenar, inicializar e chamar métodos nos objetos. Também inclui operações aritméticas e lógicas, fluxo de controle, acesso direto à memória, tratamento de exceções e outras operações. Diferentemente do formato de arquivo de objeto comum usado para o conteúdo executável no executável portátil tradicional da Microsoft, o executável portátil gerado, após a compilação do código gerenciado, contém instruções de IL e metadados.
As duas ferramentas associadas ao código IL são o MSIL Assembler (Ilasm.exe) e o MSIL Disassemble (Ildasm.exe). O primeiro gera um arquivo executável portátil a partir do código IL e permite a visualização do código IL em formato legível por humanos, enquanto o último converte um arquivo executável portátil em um arquivo de texto, para visualização e modificação. Ambos são instalados automaticamente como parte do Visual Studio.
