{"id":21484,"date":"2023-03-31T00:00:00","date_gmt":"2023-03-31T00:00:00","guid":{"rendered":"https:\/\/datei.wiki\/definition\/verstehen-der-common-language-runtime-clr\/"},"modified":"2023-03-31T00:00:00","modified_gmt":"2023-03-31T00:00:00","slug":"verstehen-der-common-language-runtime-clr","status":"publish","type":"post","link":"https:\/\/datei.wiki\/definition\/verstehen-der-common-language-runtime-clr\/","title":{"rendered":"Verstehen der Common Language Runtime (CLR)"},"content":{"rendered":"<div class=\"articlecontent\">\n<div class=\"newlinediv\"><\/div>\n<div id=\"title1\" class=\"title\">was ist die Common Language Runtime (CLR)?<\/div>\n<p> Die Common Language Runtime (CLR) ist eine Laufzeitumgebung, die vom .NET-Framework verwendet wird, um die Ausf\u00fchrung von verwaltetem Code zu erm\u00f6glichen. Sie bietet eine Reihe von Diensten wie Speicherverwaltung, Typsicherheit, Sicherheit und Ausnahmebehandlung. Sie ist ein integraler Bestandteil des .NET-Frameworks und ist f\u00fcr die Verwaltung der Ausf\u00fchrung von .NET-Code verantwortlich. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title2\" class=\"title\">Arten von verwaltetem Code<\/div>\n<p> Verwalteter Code ist Code, der f\u00fcr eine bestimmte Laufzeit, wie die CLR, geschrieben wird. Er wird in eine Zwischensprache kompiliert, die als Microsoft Intermediate Language (MSIL) bekannt ist und von der CLR verwaltet wird. Es gibt zwei Arten von verwaltetem Code: verwalteten und nicht verwalteten. Verwalteter Code ist Code, der in einer Sprache wie C# oder Visual Basic.Net geschrieben und in MSIL-Code kompiliert wurde. Nicht verwalteter Code ist Code, der in Sprachen wie C++ geschrieben wurde und in nativen Code kompiliert werden muss, bevor er ausgef\u00fchrt werden kann. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title3\" class=\"title\">CLR-Funktionen<\/div>\n<p> Die CLR bietet eine Reihe von Funktionen, die bei der Ausf\u00fchrung von verwaltetem Code helfen. Zu diesen Funktionen geh\u00f6ren: Garbage Collection f\u00fcr die Speicherverwaltung, Typsicherheit zur Gew\u00e4hrleistung der Code-Integrit\u00e4t, Ausnahmebehandlung f\u00fcr eine ordnungsgem\u00e4\u00dfe Ausf\u00fchrung und Sicherheit zum Schutz vor b\u00f6sartigem Code. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title4\" class=\"title\">Just-In-Time-Kompilierung<\/div>\n<p> Die CLR verwendet einen Prozess namens Just-In-Time-Kompilierung (JIT), um MSIL-Code in nativen Code zu kompilieren. Dieser Prozess ist f\u00fcr die Umwandlung des MSIL-Codes in nativen Code verantwortlich, der von der CPU ausgef\u00fchrt werden kann. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title5\" class=\"title\">Code Access Security<\/div>\n<p> Die CLR bietet eine Funktion namens Code Access Security (CAS), die dazu dient, eine sichere Umgebung f\u00fcr die Ausf\u00fchrung von verwaltetem Code zu schaffen. CAS ist daf\u00fcr verantwortlich, den ausf\u00fchrbaren Code einzuschr\u00e4nken und b\u00f6sartigen Code an der Ausf\u00fchrung zu hindern. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title6\" class=\"title\">Profiling<\/div>\n<p> Die CLR bietet eine Funktion namens Profiling, die zur \u00dcberwachung der Leistung von verwaltetem Code verwendet werden kann. Die Profilerstellung erm\u00f6glicht es Entwicklern, die Leistung ihres Codes zu messen und Anpassungen zur Verbesserung der Leistung vorzunehmen. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title7\" class=\"title\">interoperabilit\u00e4t<\/div>\n<p> Die CLR bietet eine Funktion namens Interoperabilit\u00e4t, die es verwaltetem Code erm\u00f6glicht, mit nativem Code zu interagieren. Dies erm\u00f6glicht es Entwicklern, innerhalb ihres verwalteten Codes auf die Funktionen des nativen Codes zuzugreifen. <\/p>\n<div class=\"newlinediv\"><\/div>\n<div id=\"title8\" class=\"title\">Native Image Generator<\/div>\n<p> Die CLR bietet auch ein Tool namens Native Image Generator (Ngen.exe), das zur Vorkompilierung von verwaltetem Code in nativen Code verwendet wird. Dadurch kann die Leistung von verwaltetem Code verbessert werden, indem der Zeitaufwand f\u00fcr die Kompilierung des Codes verringert wird. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> Die Common Language Runtime (CLR) ist ein wesentlicher Bestandteil des .NET-Frameworks und bietet eine Reihe von Funktionen zur Unterst\u00fctzung der Ausf\u00fchrung von verwaltetem Code. Sie bietet Funktionen wie Speicherverwaltung, Typsicherheit, Sicherheit, Ausnahmebehandlung, Just-in-Time-Kompilierung, Code Access Security, Profiling, Interoperabilit\u00e4t und den Native Image Generator. Ein Verst\u00e4ndnis der CLR ist f\u00fcr die Entwicklung von Anwendungen mit dem .NET Framework unerl\u00e4sslich.  <\/p><\/div>\n<div class=\"questions\">\n<div class=\"questionstitle\">FAQ<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Was bedeuten CLR und CTS?<\/div>\n<p> CLR steht f\u00fcr Common Language Runtime, und CTS steht f\u00fcr Common Type System. Diese beiden Begriffe werden im Zusammenhang mit dem .NET-Framework von Microsoft verwendet. Die CLR ist f\u00fcr die Ausf\u00fchrung von Code zust\u00e4ndig, der in einer beliebigen .NET-kompatiblen Sprache geschrieben wurde, w\u00e4hrend das CTS die Regeln definiert, die alle .NET-Sprachen befolgen m\u00fcssen, um miteinander kompatibel zu sein.  <\/p>\n<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Was versteht man unter CLR und Common Type System?<\/div>\n<p> CLR steht f\u00fcr Common Language Runtime (gemeinsame Sprachlaufzeit). Sie ist die Ausf\u00fchrungsmaschine f\u00fcr .NET Framework-Anwendungen. Sie verwaltet den Speicher der Anwendung, die Thread-Ausf\u00fchrung und die Code-Ausf\u00fchrung. Die CLR bietet auch eine M\u00f6glichkeit f\u00fcr Softwareentwickler, benutzerdefinierte verwaltete Typen zu erstellen, die in ihren eigenen Anwendungen verwendet werden k\u00f6nnen. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> Das Common Type System (CTS) ist ein Regelwerk, das definiert, wie Typen in der CLR deklariert, verwendet und verwaltet werden. Das CTS stellt sicher, dass alle .NET Framework-Anwendungen die gleichen Datentypen verwenden und dass Daten zwischen verschiedenen Anwendungen ausgetauscht werden k\u00f6nnen.  <\/p>\n<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Ist die CLR ein Compiler?<\/div>\n<p> Die CLR ist kein Compiler. Sie ist eine Laufzeitumgebung, die die Ausf\u00fchrung von Code verwaltet und Dienste bereitstellt, die von Code genutzt werden k\u00f6nnen.  <\/p>\n<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Was ist eine vollst\u00e4ndige Form von CIL und CLR?<\/div>\n<p> CLR steht f\u00fcr Common Language Runtime. Es handelt sich um eine virtuelle Maschine, die eine Ausf\u00fchrungsumgebung f\u00fcr verwalteten Code bietet. CIL steht f\u00fcr Common Intermediate Language (Gemeinsame Zwischensprache). Es handelt sich um eine Sprache, die von CLR verwendet wird, um verwalteten Code zu erzeugen.  <\/p>\n<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Was ist CLR CLS CTS JIT?<\/div>\n<p> CLR, CLS, CTS und JIT sind alle Teil des .NET Framework. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> CLR ist die Common Language Runtime, die f\u00fcr die Codeausf\u00fchrung und die Speicherverwaltung zust\u00e4ndig ist. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> CTS ist das Common Type System, das definiert, wie Typen in .NET dargestellt werden. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> JIT ist der Just-In-Time-Compiler, der Code bei Bedarf zur Laufzeit kompiliert. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> CLS ist die Common Language Specification, die eine Reihe von Regeln festlegt, die alle .NET-Sprachen befolgen m\u00fcssen.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>was ist die Common Language Runtime (CLR)? Die Common Language Runtime (CLR) ist eine Laufzeitumgebung, die vom .NET-Framework verwendet wird, um die Ausf\u00fchrung von verwaltetem Code zu erm\u00f6glichen. Sie bietet eine Reihe von Diensten wie Speicherverwaltung, Typsicherheit, Sicherheit und Ausnahmebehandlung. Sie ist ein integraler Bestandteil des .NET-Frameworks und ist f\u00fcr die Verwaltung der Ausf\u00fchrung von &#8230; <a title=\"Verstehen der Common Language Runtime (CLR)\" class=\"read-more\" href=\"https:\/\/datei.wiki\/definition\/verstehen-der-common-language-runtime-clr\/\" aria-label=\"Mehr Informationen \u00fcber Verstehen der Common Language Runtime (CLR)\">Weiterlesen<\/a><\/p>\n","protected":false},"author":2412,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[114],"tags":[],"class_list":["post-21484","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/posts\/21484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/users\/2412"}],"replies":[{"embeddable":true,"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/comments?post=21484"}],"version-history":[{"count":0,"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/posts\/21484\/revisions"}],"wp:attachment":[{"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/media?parent=21484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/categories?post=21484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/datei.wiki\/definition\/wp-json\/wp\/v2\/tags?post=21484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}