Hoppa till innehållet

Common Intermediate Language

Från Wikipedia

Common Intermediate Language (CIL) (tidigare kallat Microsoft Intermediate Language eller MSIL) är ett mellanligande högnivå-assemblyspråk som beskrivs i Common Language Infrastructure (CLI). Alla CLI-kompatibla programspråk kompileras till CIL bytekod. CIL är ett objektorienterat assemblyspråk som är baserad på stack-principen. CIL är plattformsoberoende och exekveras av en virtuell maskin. Bland språk som kompileras till CIL finner vi C#, Visual Basic .NET, C++/CLI och J#.

CIL gick tidigare under namnet Microsoft Intermediate Language (MSIL) men är sedan standardisering känt som CIL. Trots detta kallas det fortfarande MSIL av många utvecklarna som varit med från början.

Instruktioner

JIT-kompilation

NGEN-kompilation

Metadata

Exekvera CIL

  1. Källkoden (skriven i ett .NET-språk) kompileras till CIL och ett .NET Assembly skapas.
  2. Vid exekvering skickas CIL-instruktionerna genom exekveringsmotorns (t.ex. CLR) JIT-kompilator och översätts till maskinkod. (NGEN elminerar det här steget vid körning).
  3. Maskinkoden exekveras av datorns processor.

Exempel

Här är det berömda Hello World-programmet skrivet i CIL.

.assembly HelloWorld{}
.method public hidebysig static void Main() cil managed
{
   .entrypoint
   ldstr "Hello World!"
   call void [mscorlib]System.Console::WriteLine(string)
   ret
}

Externa länkar