Common Intermediate Language

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

  • Common Language Infrastructure (CLI ) – Partition III – Zestaw instrukcji CIL. dotnet.di.unipi.it. [zarchiwizowane z tego adresu (2007-02-08)].
  • Common Intermediate Language i kod generowany dynamicznie dla .NET