WISSENSARTIKEL / COMPUTER & HARDWARE

Common Intermediate Language

Die universelle Zwischensprache der .NET-Plattform

◎ KURZDEFINITION

Common Intermediate Language Common Intermediate Language (CIL) ist eine plattformunabhängige Zwischensprache, in die .NET-Programme kompiliert werden, um eine flexible und effiziente Ausführung auf verschiedenen Systemen zu ermöglichen.

Eigenständig verständliche Definition
ANSWER ENGINE · WISSENSNETZ

Wie hängt Common Intermediate Language mit anderen Begriffen zusammen?

Entdecke Voraussetzungen, verwandte Konzepte und weiterführende Themen. Jeder Knoten führt dich direkt zum passenden Wissensartikel.

7verbundene
Begriffe
Aktueller Begriff Verwandter ArtikelKnoten anklicken · Zoom über + / −
BEGRIFFE VERKNÜPFT
✦Common Intermediate LanguageHier bist du
↔Net Framework.NET Framework
↔Common Language Runtime ClrCommon Language Runtime (CLR)
↔CC#
↔BytecodeBytecode
↔CompilerCompiler
↔Managed CodeManaged Code
Wissensnetz aus veröffentlichten Artikeln · Verbindungen können verschoben werden
✦

Das Wichtigste auf einen Blick

  • CIL ist eine Zwischensprache für .NET-Anwendungen.
  • Programme werden in CIL kompiliert, bevor sie ausgeführt werden.
  • Die Just-in-Time-Kompilierung übersetzt CIL in nativen Maschinencode.
  • CIL sorgt für Plattformunabhängigkeit innerhalb der .NET-Umgebung.
  • Mehrere Programmiersprachen können denselben CIL-Code erzeugen.
  • CIL ist standardisiert und dokumentiert.
  • Die Sicherheit und Effizienz von .NET-Anwendungen basiert auf CIL.
01

Überblick: Common Intermediate Language

Die Common Intermediate Language (CIL) ist ein zentraler Bestandteil der .NET-Technologie von Microsoft. Sie fungiert als Zwischencode, in den Quellcode aus verschiedenen Programmiersprachen kompiliert wird. Dieser Zwischencode wird dann zur Laufzeit vom Common Language Runtime (CLR) in Maschinencode übersetzt. CIL ermöglicht dadurch eine plattformübergreifende Ausführung von Anwendungen und unterstützt die Interoperabilität zwischen unterschiedlichen .NET-Sprachen.

02

Was ist die Common Intermediate Language?

Die Common Intermediate Language (CIL) ist eine Zwischensprache, die von der .NET-Plattform verwendet wird. Sie stellt eine abstrakte, plattformunabhängige Repräsentation von Programmen dar, die von verschiedenen .NET-Sprachen erzeugt wird. CIL-Code wird zur Laufzeit in nativen Maschinencode übersetzt.

03

Hintergrund und Entstehung

CIL wurde als Teil des .NET Frameworks entwickelt, um eine gemeinsame Basis für verschiedene Programmiersprachen zu schaffen. Ziel war es, die Interoperabilität zu fördern und die Ausführung von Anwendungen auf unterschiedlichen Plattformen zu ermöglichen. Die Spezifikation ist als ECMA-335 Standard veröffentlicht.

04

Funktionsweise der Common Intermediate Language

Programme werden zunächst in CIL kompiliert, der eine abstrakte, stackbasierte Sprache ist. Zur Laufzeit übersetzt die Common Language Runtime (CLR) diesen CIL-Code mittels Just-in-Time-Kompilierung (JIT) in Maschinencode, der vom Betriebssystem ausgeführt wird. Dies ermöglicht eine effiziente und sichere Ausführung.

05

Vergleich: CIL und andere Zwischensprachen

MerkmalCommon Intermediate Language (CIL)Java BytecodeLLVM IR
Plattform.NET-UmgebungJava Virtual MachineVerschiedene Compiler-Backends
SprachenC#, VB.NET, F#, u.a.Java, Kotlin, ScalaC, C++, Rust, u.a.
AusführungJIT durch CLRJIT oder AOT durch JVMJIT oder AOT durch LLVM
StandardisierungECMA-335Java-SpezifikationLLVM-Projekt
06

Vorteile der Common Intermediate Language

CIL ermöglicht die Verwendung mehrerer Programmiersprachen innerhalb derselben Plattform, fördert die Wiederverwendbarkeit von Code und unterstützt Sicherheitsmechanismen wie Typprüfung. Zudem erlaubt die Zwischensprache die Optimierung zur Laufzeit durch JIT-Compiler.

07

Sicherheitsaspekte von CIL

CIL-Code wird vor der Ausführung von der CLR überprüft, um Typensicherheit und andere Sicherheitsrichtlinien zu gewährleisten. Dies schützt vor schädlichem Code und erhöht die Stabilität von .NET-Anwendungen.

08

Beispiele für CIL-Code

Ein einfaches Beispiel zeigt, wie eine Methode in C# in CIL übersetzt wird. Die Zwischensprache ist dabei lesbar und stackbasiert, was die Ausführung und Optimierung erleichtert.

09

Vor- und Nachteile der Common Intermediate Language

VorteileNachteile
Plattformunabhängigkeit innerhalb .NETAbhängigkeit von der CLR zur Ausführung
Unterstützung mehrerer SprachenPerformance-Overhead durch JIT-Kompilierung
Sicherheitsprüfungen vor AusführungKomplexität der Zwischensprache
Optimierungsmöglichkeiten zur Laufzeit
10

Zukunft und Weiterentwicklung

CIL bleibt ein zentraler Bestandteil der .NET-Plattform, die sich kontinuierlich weiterentwickelt. Mit .NET 5 und späteren Versionen wird die Plattform zunehmend plattformübergreifend, was die Bedeutung von CIL als universelle Zwischensprache weiter stärkt.

◇

Zusatzinformationen

◇

Begriff: Common Intermediate Language (CIL)

Typ: Zwischensprache / Intermediate Language

Einsatzgebiet: .NET Framework, .NET Core, .NET 5+

Funktion: Plattformunabhängige Repräsentation von Programmen

Ausführung: Just-in-Time-Kompilierung durch Common Language Runtime (CLR)

Standardisierung: ECMA-335 Standard

Unterstützte Sprachen: C#, VB.NET, F#, u.a.

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Common Intermediate Language

Was ist der Unterschied zwischen CIL und Maschinencode?

CIL ist eine plattformunabhängige Zwischensprache, während Maschinencode spezifisch für die Hardware eines Systems ist. CIL wird zur Laufzeit in Maschinencode übersetzt.

Welche Sprachen können in CIL kompiliert werden?

Viele .NET-Sprachen wie C#, VB.NET, F# und weitere können in CIL kompiliert werden.

Wie wird CIL-Code ausgeführt?

CIL-Code wird von der Common Language Runtime (CLR) mittels Just-in-Time-Kompilierung in nativen Maschinencode übersetzt und dann ausgeführt.

Ist CIL plattformunabhängig?

Ja, CIL ist plattformunabhängig innerhalb der .NET-Umgebung, da die Ausführung von der CLR übernommen wird, die auf verschiedenen Betriebssystemen verfügbar ist.

Kann man CIL direkt schreiben?

Obwohl es möglich ist, wird CIL normalerweise nicht direkt geschrieben, sondern durch Compiler aus höheren Programmiersprachen erzeugt.

Welche Rolle spielt die ECMA-335 Spezifikation?

Die ECMA-335 Spezifikation definiert den Standard für CIL und die Common Language Infrastructure, was Interoperabilität und Standardisierung gewährleistet.

Wie trägt CIL zur Sicherheit von .NET-Anwendungen bei?

CIL-Code wird vor der Ausführung überprüft, um Typensicherheit und andere Sicherheitsrichtlinien durchzusetzen, was die Ausführung sicherer macht.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    ECMA-335 Common Language Infrastructure (CLI) Standard ↗
    ECMA International· StandardKI-Vorschlag · ungeprüft

    Offizielle Spezifikation der Common Intermediate Language und CLI.

    https://www.ecma-international.org/publications-and-standards/standards/ecma-335/
  2. 02
    Microsoft Docs: Common Intermediate Language (CIL) ↗
    Microsoft· DokumentationKI-Vorschlag · ungeprüft

    Offizielle Dokumentation zu CIL und .NET.

    https://learn.microsoft.com/en-us/dotnet/standard/managed-code
  3. 03
    Understanding the .NET Intermediate Language ↗
    Microsoft· Technische DokumentationKI-Vorschlag · ungeprüft

    Erklärung der Funktionsweise von CIL.

    https://docs.microsoft.com/en-us/dotnet/standard/managed-code/intermediate-language

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
Wie bewertest du diesen Artikel?Deine Sterne helfen anderen Lesern und verbessern unsere Inhalte.
– / 5(0 Bewertungen)
Bewerte mit 1 bis 5 Sternen
DEIN FEEDBACKWar dieser Artikel hilfreich?Deine Rückmeldung hilft uns, die Inhalte noch besser zu machen.
STIMMEN DER LESERFeedback zu diesem Artikel
0 Stimmen
👍 Ja, sehr
00 %
◐ Teilweise
00 %
👎 Nicht wirklich
00 %

Die Balken aktualisieren sich automatisch anhand der abgegebenen Rückmeldungen.

ANSWER ENGINE · COMMUNITY

Diskussion zum Artikel

Teile deine Gedanken, stelle Rückfragen oder antworte anderen Lesern – respektvoll und direkt am Thema.

0 Kommentare
Deine E-Mail-Adresse wird nicht öffentlich angezeigt.
0 / 2.000
Kommentare & AntwortenNeueste Diskussion
Kommentare werden geladen …
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

LETZTE 30 TAGE

Entwicklung dieses Artikels

Tagesverlauf

Hinweis: Seitenaufrufe werden erst ab Aktivierung der täglichen Statistik historisch pro Tag erfasst. Unique Nutzer sind Tageswerte; dieselbe Person kann an mehreren Tagen vorkommen und darf deshalb nicht zu einer Monatszahl addiert werden.

SeitenaufrufeUnique Nutzer
Seitenaufrufe vs. vorherige 30 TageWird geladen …
Unique Nutzer vs. vorherige 30 TageWird geladen …
ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.

LETZTE 30 TAGE

Entwicklung des gesamten Netzwerks

Tagesverlauf

Hinweis: Seitenaufrufe werden erst ab Aktivierung der täglichen Statistik historisch pro Tag erfasst. Unique Nutzer sind Tageswerte; dieselbe Person kann an mehreren Tagen vorkommen und darf deshalb nicht zu einer Monatszahl addiert werden.

SeitenaufrufeUnique Nutzer
Seitenaufrufe vs. vorherige 30 TageWird geladen …
Unique Nutzer vs. vorherige 30 TageWird geladen …