Common Intermediate Language
linguaggio di programmazione
AutoreMicrosoft
Data di origine2000
Paradigmiprogrammazione orientata agli oggetti
Influenzato daJava
Implementazione di riferimento
Sito webdocs.microsoft.com/en-us/dotnet/welcome

Il Common Intermediate Language (CIL), in italiano linguaggio intermedio comune, è il linguaggio di programmazione di livello più basso previsto dalla piattaforma .NET e dal Common Language Infrastructure. Quando un linguaggio è supportato dalla piattaforma .NET vuol dire che esiste un compilatore che traduce i programmi scritti in quel linguaggio in istruzioni del CIL, che quindi risulta avere lo stesso ruolo che il bytecode ha nel mondo Java. Il CIL è un linguaggio assembly orientato agli oggetti, ed è completamente basato su stack. Esso viene poi compilato in codice macchina al volo da un Jit (compilatore just-in-time) e poi eseguito; questo avviene al primo avvio del programma, dopodiché la piattaforma .Net immagazzinerà l'eseguibile già compilato in una cartella apposita per velocizzare i futuri avvii. I principali linguaggi .NET sono il C#, F#, Visual Basic .NET e il Managed C++, tuttavia sono stati sviluppati vari linguaggi che usano la potenza della piattaforma .Net tra cui Robin e Minsk.

Durante la fase di beta dei linguaggi .NET il CIL era conosciuto come MSIL, cioè Microsoft Intermediate Language, in italiano "linguaggio intermedio della Microsoft".

L'utilizzo principale della piattaforma sarebbe quello di fornire agli sviluppatori strumenti che facilitino il lavoro nella scrittura di programmi elaborati come compilatori. CIL facilita esponenzialmente il lavoro, supportando l'orientazione agli oggetti, i tipi primitivi dotati di metodi, l'istanziamento di array e oggetti con poche istruzioni e il supporto all'uso delle costanti che l'assembly x86 non supporta, come gli oggetti, le stringhe e altri tipi primitivi.

Esempi

modifica

Esempio hello world

.assembly extern mscorlib{}
.assembly CiaoMondo{}
.method public hidebysig static void Main() cil managed
{
   .entrypoint
   ldstr "Ciao mondo."
   call void [mscorlib]System.Console::WriteLine(string)
   ret
}

Esempio variabili locali

.assembly extern mscorlib{}
.assembly CiaoMondo{}
.method public hidebysig static void Main(string[] args) cil managed
{
   .entrypoint
   .locals init (
      [0] string a
   )
   ldstr "s" // stack ["s"]
   stloc.0 // memorizza nella memoria locale all'index 0 (a)
   // stack []
   ldloc.0 // carica sullo stack la variabile locale all'index 0 (a)
   // stack ["s"]
   call void [mscorlib]System.Console::WriteLine(string)
   ret
}

Esempio funzione come parametro

.assembly extern mscorlib{}
.assembly CiaoMondo{}
.method public hidebysig static void Main() cil managed
{
   .entrypoint
   call string [mscorlib]System.Console::ReadLine()
   call void [mscorlib]System.Console::WriteLine(string)
   ret
}

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Microsoft Visual Studio

il codice sorgente (Visual Basic .NET, C#, ecc.) in codice IL (Intermediate Language). IL è un nuovo linguaggio progettato per essere convertito in modo

Microsoft .NET

(Common Intermediate Language). È inoltre possibile: accedere a componenti scritti in altri linguaggi; quando il sistema operativo sottostante è Microsoft Windows

File eseguibile

Nella piattaforma Microsoft .NET, molto simile a Java, gli eseguibili sono compilati in un bytecode detto Microsoft Intermediate Language (MSIL), eseguito

Common Language Runtime

piattaforma .NET. Il CLR è l'ambiente di esecuzione del Common Intermediate Language, il linguaggio intermedio in cui i compilatori della piattaforma

.NET Framework

motore d'esecuzione della piattaforma .NET esegue cioè codice IL (Intermediate Language) compilato con compilatori che possono avere come target il CLR

Common Language Infrastructure

Il Common Language Infrastructure (CLI), in italiano "infrastruttura del linguaggio comune", è una specifica aperta sviluppata da Microsoft, che descrive

Visual J++

intermedio CIL (Common Intermediate Language) della piattaforma .NET. ^ [1] MSDN ^ [2] Medialab Microsoft Visual J#, su msdn.microsoft.com. URL consultato

ASP.NET

successore della tecnologia Active Server Pages (ASP) di Microsoft. ASP.NET è costruito sul Common Language Runtime (CLR), permettendo ai programmatori di scrivere