Common Intermediate Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
aggiunta informazioni
Etichette: Modifica da mobile Modifica da web per mobile
Etichette: Modifica da mobile Modifica da web per mobile
Riga 22:
L'utilizzo principale della piattaforma sarebbe quello di fornire agli sviluppatori strumenti che facilitini 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'istabziamento 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.
 
==Esempio dihello codice CILworld==
Questo è il classico [[Hello world|programma "ciao mondo"]] scritto in istruzioni CIL.
 
.assembly extern mscorlib{}
Line 31 ⟶ 30:
.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