Common Intermediate Language (z ang. Wspólny Język Pośredni, w skrócie CIL, lub IL) – 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 standaryzacji C# i CIL. Czasem jednak można jeszcze spotkać zastosowanie poprzedniej nazwy, szczególnie wśród starszych użytkowników .NET.

ilasm.exe – kompilator języka CIL, dołączony do .NET Framework SDK.

.il – umowne (wynik przyjętej konwencji) rozszerzenie plików zawierających kod CIL.

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

Zobacz też Kod bajtowy Kod bajtowy Javy

Linki zewnętrzne

Standard ECMA-335 – Common Language Infrastructure (CLI) – specyfikacja CLI, której część III opisuje zestaw instrukcji CIL

Kategoria:.NET Kategoria:Asembler