<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Common_Intermediate_Language</id>
	<title>Common Intermediate Language - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Common_Intermediate_Language"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Common_Intermediate_Language&amp;action=history"/>
	<updated>2026-05-19T00:36:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Common_Intermediate_Language&amp;diff=656241&amp;oldid=prev</id>
		<title>imported&gt;Kielschlinger: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Common_Intermediate_Language&amp;diff=656241&amp;oldid=prev"/>
		<updated>2025-04-10T07:01:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Common Intermediate Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;CIL&amp;#039;&amp;#039;&amp;#039;; teilweise auch nur &amp;#039;&amp;#039;&amp;#039;Intermediate Language&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;IL&amp;#039;&amp;#039;&amp;#039;) ist eine [[Zwischencode|Zwischensprache]], in die alle Programme der [[Common Language Infrastructure]] übersetzt werden. CIL ist eine [[Objektorientierung|objektorientierte]] [[Assemblersprache]] und ist vollständig [[Stapelspeicher|stack]]basiert.&lt;br /&gt;
Auf dem Zielcomputer wird die CIL von einem [[Laufzeitsystem]] ([[Virtual Execution System]]) in systemeigenen Programmcode übersetzt, um in CIL vorliegende Programme ausführen zu können.&lt;br /&gt;
&lt;br /&gt;
CIL ist in frühen Entwicklungsphasen des [[.Net-Framework]]s als &amp;#039;&amp;#039;&amp;#039;Microsoft Intermediate Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MSIL&amp;#039;&amp;#039;&amp;#039;) bezeichnet worden, mit der [[Standard]]isierung der [[Common Language Infrastructure]] ist diese Bezeichnung aber verworfen worden.&lt;br /&gt;
&lt;br /&gt;
== Grundlegende Funktionsweise ==&lt;br /&gt;
Bei der Kompilierung von [[Quelltext|Quellcode]] aus .NET-Sprachen wird nicht direkt systemeigener Programmcode erzeugt, sondern in einem ersten Schritt zunächst CIL-Code. In CIL werden die Programmbefehle als eine Folge von Bytewerten (teilweise auch mehr als ein [[Byte]]) angegeben. Dieser Code wird auf dem Ausführungsrechner in einem Laufzeitsystem (der [[Common Language Runtime]]) zu nativem [[Maschinencode]] übersetzt (sogenannte [[JIT-Compiler|JIT]]-Kompilierung) und ausgeführt.&lt;br /&gt;
&lt;br /&gt;
Während der Übersetzung werden auch die Sicherheit und die Korrektheit des Codes (Manipulation) überprüft.&lt;br /&gt;
&lt;br /&gt;
== NGEN-Kompilierung (Native Image Generation) ==&lt;br /&gt;
Alternativ zur JIT-Kompilierung ist es auch möglich, ein Programm &amp;#039;&amp;#039;vor&amp;#039;&amp;#039; dessen Ausführung zu übersetzen. Das Programm &amp;#039;&amp;#039;Native Image Generator (NGEN)&amp;#039;&amp;#039; bietet im .NET-Framework diese Möglichkeit. Dies macht die Übersetzung des Programmes zur Laufzeit überflüssig, so dass der Programmstart beschleunigt werden kann.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://msdn.microsoft.com/de-de/library/bb978898.aspx |titel=Die Leistungsvorteile durch NGen |autor=Surupa Biswas |werk=Microsoft |datum=2009-06-17 |abruf=2025-01-29}}&amp;lt;/ref&amp;gt; Der vorerzeugte Programmcode kann allerdings nicht auf andere [[Plattform (Computer)|Plattformen]] übertragen werden. Hier ist wieder eine Neukompilierung mit NGEN notwendig oder der Rückfall auf den JIT-Compiler.&lt;br /&gt;
&lt;br /&gt;
Auch ein nativ kompiliertes Programm benötigt immer die Laufzeitumgebung, da wesentliche [[Metadaten]] nicht Teil des nativen Programmabbildes werden. Somit wird lediglich die JIT-Kompilierung überflüssig.&lt;br /&gt;
&lt;br /&gt;
== CIL als Sprache ==&lt;br /&gt;
Es ist möglich, den CIL-Zwischencode durch assemblerähnliche Befehle zu repräsentieren und so auch direkt Programme in CIL zu programmieren.&lt;br /&gt;
&lt;br /&gt;
Siehe [[Liste von Hallo-Welt-Programmen/Programmiersprachen#CIL|Hallo-Welt-Beispiel in CIL]].&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:.NET]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Kielschlinger</name></author>
	</entry>
</feed>