Common Language Runtime (CLR)

Was ist die Common Language Runtime (CLR)?

Es handelt sich bei der Common Language Runtime kurz gesagt um eine Laufzeitumgebung eines .NET-Frameworks, die frühere Probleme lösen. Diese können alle .NET-Programmiersprachen nutzen.

In vielen traditionellen Ausführungsumgebungen der Vergangenheit mussten Programmierer viele Arbeiten auf niedriger Ebene ausführen, die von Anwendungen unterstützt werden mussten. Beispielsweise mussten Sie benutzerdefinierte Sicherheitssysteme erstellen, Fehlerbehandlung implementieren und Speicher verwalten. Das Ausmaß, in dem diese Dienste auf verschiedenen Sprachplattformen unterstützt wurden, war sehr unterschiedlich. Visual Basic (VB) -Programmierer verfügten über eine integrierte Speicherverwaltung und ein Fehlerbehandlungssystem, aber sie hatten nicht immer einfachen Zugriff auf alle Funktionen von COM +, wodurch eine anspruchsvollere Sicherheits- und Transaktionsverarbeitung möglich war.

Info

C++ – Programmierer haben vollen Zugriff auf COM + und die Ausnahmebehandlung, aber die Speicherverwaltung ist ein vollständig manueller Prozess. Common Language Runtime löst viele dieser Probleme der Vergangenheit.

Please activate JavaScript to view this video.
Video-Link: https://www.youtube.com/watch?v=KpkFaivsQ28

Die Funktionen

Hier ist eine Auflistung aller Funktionen von Common Language Runtime (CLR):

  • Enthält integrierte Typen und Bibliotheken zum Verwalten von Assemblys, Arbeitsspeicher, Sicherheit, Threading und anderer Runtime-Systemunterstützung.
  • Erleichterungen beim Debuggen von Codes.
  • Ermöglicht das Schreiben von Codes zum Erstellen und Behandeln von Ausnahmen.
  • Verwaltet die Ausführung von Codes.
  • Automatische Speicherverwaltung und Speicherbereinigung.
  • Abwärtskompatibilität mit COM- und Win32-Code.
  • Just-In-Time (JIT) -Kompilierung. Ein Effizienzmerkmal, mit dem sichergestellt wird, dass die Common Language Runtime den Code erst unmittelbar vor der Ausführung kompiliert.
  • Traditionelle rollenbasierte Sicherheitsunterstützung, zusätzlich zur Code Access Security (CAS).
  • Ermöglicht die Ausführung mehrerer Ausführungsthreads.
  • Findet und lädt Baugruppen und Typen.
  • Stellt sicher, dass Referenzen mit kompatiblen Typen übereinstimmen, was für zuverlässigen und sicheren Code sehr nützlich ist.

Der CLR-Ausführungsprozess

Über die Ausführung von Codes hinaus wirken sich Teile des Ausführungsprozesses direkt auf das Design der Anwendung und darauf aus, wie sich ein Programm zur Laufzeit verhält. Ab dem Zeitpunkt, an dem eine .NET-Anwendung zur Ausführung ausgewählt wurde, führt die Common Language Runtime einen speziellen Prozess zum Ausführen der Anwendung aus.

Ausführung

  Zunächst muss dafür Windows (das Betriebssystem) unter Start ausgeführt werden. Die CLR wird die Ausführung erst beginnen, wenn Windows sie startet. Wenn eine Anwendung ausgeführt wird, überprüft das Betriebssystem die Datei, um festzustellen, ob eine spezielle Kopfzeile vorhanden ist, um anzuzeigen, dass es sich um eine .NET-Anwendung handelt. Wenn nicht, führt Windows die Anwendung weiterhin aus. Wenn es eine Anwendung für .NET ist, startet Windows die CLR und übergibt die Anwendung zur Ausführung an die CLR. Die Common Language Runtime lädt die ausführbare Assembly, sucht den Einstiegspunkt und beginnt mit dem Ausführungsprozess.

Die ausführbare Assembly kann auf andere Assemblys wie Dynamic Link Libraries (DLLs) verweisen, sodass die Common Language Runtime diese lädt. Dies geschieht jedoch bei Bedarf. Eine Assembly wird erst geladen, wenn die CLR Zugriff auf den Assembly-Code benötigt. Es ist möglich, dass der Code in einigen Assemblys nicht ausgeführt wird. Daher ist es nicht notwendig, Ressourcen zu verwenden, es sei denn, dies ist absolut notwendig. Wie bereits erwähnt, erzeugt der C # -Compiler IL als Teil der Ausgabe einer Assembly. Um den Code auszuführen, muss die Common Language Runtime die IL in Binärcode übersetzen, den das Betriebssystem versteht. Dies liegt in aber der Verantwortung des JIT-Compilers.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenlose SEO Analyse


Weitere Inhalte