Common Language Infrastructure
Common Language Infrastructure (z ang. wspólna infrastruktura językowa, w skrócie CLI) to część platformy Microsoft .NET Framework, wykorzystywana jako środowisko uruchomieniowe dla oprogramowania stworzonego w różnych językach. Przed opracowaniem CLI każdy język wymagał własnego środowiska: Visual Basic – VBVM, Visual C++ (aż do Visual C++ .NET) – MSVCRT.

Specyfikacja CLI opisuje następujące cztery aspekty:
- Wspólny zestaw typów danych (Common Type System) – zbiór typów danych, które są obsługiwane przez wszystkie kompatybilne języki programowania.
- Metadane – informacje o strukturze definiowanych klas, interfejsów i innych typów, pozwalające na ich wykorzystanie w różnych językach i narzędziach.
- Wspólna specyfikacja języków (Common Language Specification) – określa zbiór reguł, do których wszystkie języki zgodne z CLI muszą się stosować, aby były kompatybilne z pozostałymi językami.
- Wirtualny system wykonawczy (Virtual Execution System) – wczytuje i wykonuje programy kompatybilne z CLI, używa metadanych w celu połączenia poszczególnych fragmentów kodu w czasie wykonywania.
Każdy kod źródłowy napisany w języku kompatybilnym z tą infrastrukturą jest kompilowany do języka pośredniego CIL, niezależnego od platformy sprzętowej. W czasie wykonywania kodu VES tłumaczy język pośredni na kod dopasowany do danej platformy.
CLR – maszyna wirtualna CLI
CLI wykorzystuje bibliotekę klas i maszynę wirtualną Common Language Runtime (CLR) firmy Microsoft. W trakcie przygotowania jest wiele kompilatorów, które będą generować kod dla CLR zapisany w postaci Common Intermediate Language (CIL) (inna nazwa: Microsoft Intermediate Language, MSIL). Kod CIL jest niezależny od zestawu instrukcji procesora, co umożliwia jego translację na kod natywny. W związku z tym CIL może być nazwany asemblerem wysokiego poziomu.
Rywalizacja z Javą
Maszyna CLR jest z założenia konkurentem dla Java Virtual Machine (JVM), a CLI – dla Java Software Development Kit (SDK)[potrzebny przypis].
Linki zewnętrzne
- Standard ECMA-335 dotyczący CLI
- Samouczek zawierający MSIL autorstwa Aleksieja Nudelmana. csharpcomputing.com. [zarchiwizowane z tego adresu (2007-10-22)].
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.