ExpertiDict

C# · Avançado · Inglês · Técnico

intermediate language

/ˌɪntɚˈmidiət ˈlæŋɡwɪdʒ/substantivo

Linguagem de baixo nível, independente de CPU, para a qual o compilador C# traduz o código; o JIT do CLR a converte em código de máquina na execução.

Onde usar

Aparece ao inspecionar um assembly com ILSpy ou ildasm para entender o que o compilador gerou em async, lambdas e records. Ajuda a discutir otimizações com fatos em vez de palpites.

Em código

static class Calc {
  public static int Soma(int a, int b)
    => a + b;
}
// IL (Release): ldarg.0, ldarg.1, add, ret

Exemplos

Let me check the IL to see if the compiler inlined that.

Deixa eu olhar o IL para ver se o compilador fez inline disso.

C# compiles to IL, and the JIT turns it into machine code.

O C# compila para IL, e o JIT transforma isso em código de máquina.

Cuidado

Não é bytecode da JVM nem código nativo: o IL é específico do CLR e só roda depois de compilado pelo JIT ou por AOT.

Sinônimos

IL, CIL, MSIL

Veja também

Todos os termos de C#