Common Intermediate Language

Common Intermediate Language

Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist vollständig stackbasiert. 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.

CIL ist in frühen Entwicklungsphasen von .NET als Microsoft Intermediate Language (MSIL) bezeichnet worden, mit der Standardisierung der Common Language Infrastructure ist diese Bezeichnung aber verworfen worden.

Inhaltsverzeichnis

Grundlegende Funktionsweise

Bei der Kompilierung von 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 zu nativem Maschinencode übersetzt (Just in time (JIT) Kompilierung) und ausgeführt.

Während der Übersetzung werden auch die Sicherheit und die Korrektheit des Codes (Manipulation) überprüft.

NGEN (Native Image Generator)-Kompilierung

Alternativ zur JIT-Kompilierung ist es auch möglich ein Programm vor dessen Ausführung zu übersetzen. Das Programm Native Image Generator (NGEN) bietet im .NET-Framework diese Möglichkeit. Dies macht die Übersetzung des Programmes zur Laufzeit überflüssig, so dass der Programmstart beschleunigt werden kann.[1] Der vorerzeugte Programmcode kann allerdings nicht auf andere Plattformen übertragen werden. Hier ist wieder eine Neukompilierung mit NGEN notwendig oder der Rückfall auf den JIT-Kompiler.

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.

CIL als Sprache

Es ist möglich, den CIL-Zwischencode durch assemblerähnliche Befehle zu repräsentieren und so auch direkt Programme in CIL zu programmieren.

Siehe Hallo-Welt-Beispiel in CIL.

Weblinks

  1. http://msdn.microsoft.com/de-de/library/bb978898.aspx

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Common Intermediate Language — (сокращённо CIL)  промежуточный язык, разработанный фирмой Microsoft для платформы .NET Framework. JIT компилятор CIL является частью так называемой CLR (англ. Common Language Runtime)  общей среды выполнения языков .NET. Ранее… …   Википедия

  • Common Intermediate Language — (CIL, pronunciado sil o kil ) (anteriormente llamado Microsoft Intermediate Language o MSIL) es el lenguaje de programación legible por humanos de más bajo nivel en el Common Language Infrastructure y en el .NET Framework. Los lenguajes del .NET… …   Wikipedia Español

  • Common Intermediate Language — For the counterpart to compiled assembly in the Microsoft .NET framework, see .NET assembly. Common Intermediate Language (CIL, pronounced either sil or kil ) (formerly called Microsoft Intermediate Language or MSIL) is the lowest level human… …   Wikipedia

  • Common Intermediate Language — Dans l environnement de programmation Microsoft, le Common Intermediate Language (CIL) est le langage de programmation de plus bas niveau qui peut être lu par un humain. Le code de plus haut niveau dans l environnement .NET Framework est compilé… …   Wikipédia en Français

  • Intermediate language — Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist… …   Deutsch Wikipedia

  • Intermediate language — In computer science, an intermediate language is the language of an abstract machine designed to aid in the analysis of computer programs. The term comes from their use in compilers, where a compiler first translates the source code of a program… …   Wikipedia

  • Microsoft Intermediate Language — Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist… …   Deutsch Wikipedia

  • Microsoft Intermediate Language — Microsoft Intermediate Language, сокращенно MSIL промежуточный язык, разработанный фирмой Microsoft для платформы .NET Framework. JIT компилятор MSIL является частью так называемой CLR (англ. Common Language Runtime) общей среды выполнения языков …   Википедия

  • C Intermediate Language — This article is about the simplified subset of C. For the Common Intermediate Language (also known as MSIL), see CIL. CIL (C Intermediate Language) is a simplified subset of the C programming language, as well as a set of tools for transforming C …   Wikipedia

  • Common Language Runtime — El Common Language Runtime o CLR ( entorno en tiempo de ejecución de lenguaje común ) es un entorno de ejecución para los códigos de los programas que corren sobre la plataforma Microsoft .NET. El CLR es el encargado de compilar una forma de… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”