Common Intermediate Language

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Common Intermediate Language (CIL) (tidigare kallat Microsoft Intermediate Language eller MSIL) är ett mellanliggande 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.

Innehåll

Syntax

Common Intermediate Language är stack-baserat dvs. att variablerna som används i en operation sparas på en stack, till skillnad från vanliga assemblerspråk som är register-baserade. Utöver detta så är språket också objektorienterat. Dessa funktioner är integrerade i CIL för att göra det enklare för programmeringsspråken som delar det som ett mellanliggande språk lättare ska kunna interagera med varandra.

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
}

Se även

Externa länkar


Personliga verktyg