Common Intermediate Language
Common Intermediate Language (z ang. Wspólny Język Pośredni, w skrócie CIL) to język najniższego poziomu dla platformy Microsoft .NET odczytywalny przez człowieka. Jest to odpowiednik asemblera jako języka pośredniego dla typowych języków wysokiego poziomu (tu: Common Language Infrastructure (CLI) wyrażający kod w C#, Visual Basic .NET,Managed C++ lub dowolnym języku z wielu(40+) języków kompilowanych do CIL ). CIL jest tłumaczony bezpośrednio na kod bajtowy.
CIL przypomina obiektowy asembler w całości oparty na stosie. Jego wykonanie następuje za pomocą maszyny wirtualnej.
Początkowo CIL nosił nazwę Microsoft Intermediate Language (MSIL), ale uległa ona zmianie wskutek standardyzacji C# i CLI. Czasem jednak można jeszcze spotkać zastosowanie poprzedniej nazwy, szczególnie wśród starszych użytkowników .NET.
Przykładowy kod
Oto program Hello world w CIL:
.assembly HelloWorld .class auto ansi HelloWorldApp { .method public hidebysig static void Main() cil managed { .entrypoint .maxstack 1 ldstr "Hello world." call void [mscorlib]System.Console::WriteLine(string) ret } }