Definição – o que significa linguagem intermediária (IL)?
Linguagem intermediária (IL) é uma linguagem de programação orientada a objeto projetada para ser usada por compiladores para o .NET Framework antes da compilação estática ou dinâmica para código de máquina. O IL é usado pelo .NET Framework para gerar código independente de máquina como a saída da compilação do código-fonte escrito 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 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).
Definirtec explica linguagem intermediária (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. Ao contrário dos intérpretes, a compilação JIT oferece melhor desempenho, preserva a memória e economiza tempo durante a inicialização do aplicativo. O IL habilita o recurso de independência de plataforma e CPU do .NET framework, permitindo que o código-fonte compilado seja executado em qualquer ambiente que suporte a especificação CLI.
A verificação da segurança do código, para código IL, oferece melhor segurança e confiabilidade do que arquivos executáveis compilados nativamente. Os metadados, que descrevem o código MSIL no executável portátil, elimina a necessidade de bibliotecas de tipos e arquivos de linguagem de definição intermediária, conforme usado na tecnologia Component Object Model (COM). Combinado com metadados e um sistema de tipo comum, IL constitui o meio para integrar módulos escritos em diferentes linguagens em um único aplicativo, permitindo assim a independência de linguagem.
Embora IL seja semelhante ao bytecode Java em seu uso por compiladores, ele difere deste último por ser projetado para independência de plataforma e de linguagem. 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 pela linguagem de alto nível. IL inclui todas as instruções necessárias para carregar, armazenar, inicializar e chamar métodos em 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. Ao contrário do formato de arquivo de objeto comum usado para 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 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, 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.
Esta definição foi escrita no contexto do .NET