{"id":8047,"date":"2022-10-26T00:00:00","date_gmt":"2022-10-26T00:00:00","guid":{"rendered":"https:\/\/techlib.net\/techedu\/common-language-runtime-clr\/"},"modified":"2022-10-26T00:00:00","modified_gmt":"2022-10-26T00:00:00","slug":"common-language-runtime-clr","status":"publish","type":"post","link":"https:\/\/techlib.net\/techedu\/common-language-runtime-clr\/","title":{"rendered":"Common Language Runtime (CLR)"},"content":{"rendered":"<p> El CLR es el entorno de tiempo de ejecuci\u00f3n que gestiona la ejecuci\u00f3n de los programas .NET. Proporciona una serie de servicios, como la gesti\u00f3n de la memoria, la seguridad de tipos y la gesti\u00f3n de excepciones. El CLR tambi\u00e9n permite a los desarrolladores crear programas independientes del lenguaje. <br \/>\n Cuando se compila un programa .NET, el compilador genera un conjunto de instrucciones, denominadas IL (lenguaje intermedio), que se almacenan en un archivo ejecutable port\u00e1til (PE). Cuando se ejecuta el programa, el CLR carga el archivo PE y ejecuta las instrucciones IL. <br \/>\n El CLR proporciona una serie de caracter\u00edsticas que facilitan a los desarrolladores la creaci\u00f3n de programas robustos y fiables. Por ejemplo, el CLR gestiona la memoria autom\u00e1ticamente, de modo que los desarrolladores no tienen que escribir c\u00f3digo para asignar y desasignar memoria. El CLR tambi\u00e9n aplica la seguridad de tipos, para que los programas no puedan acceder a la memoria que no deben. Por \u00faltimo, el CLR proporciona un manejo de excepciones, de modo que los desarrolladores pueden escribir c\u00f3digo para manejar los errores de forma controlada. <\/p>\n<h4> \u00bfQu\u00e9 son los tipos del CLR?<\/h4>\n<p> Los tipos del CLR son la implementaci\u00f3n de Microsoft de los tipos del sistema de tipos comunes (CTS). El sistema de tipos comunes es un est\u00e1ndar para definir c\u00f3mo funcionan los tipos en un lenguaje de programaci\u00f3n. Es parte del Microsoft .NET Framework. <br \/>\n El CLR utiliza un sistema de tipos para mapear entre los tipos CTS y los tipos CLR. El sistema de tipos es responsable de cargar, instanciar e inicializar los tipos. Tambi\u00e9n proporciona informaci\u00f3n sobre los tipos, como sus m\u00e9todos y campos. <br \/>\n El CLR tambi\u00e9n proporciona un conjunto de servicios que los tipos pueden utilizar, como la gesti\u00f3n de la memoria, la seguridad y el manejo de excepciones.   \u00bfEs el CLR una VM?  No, el CLR no es una VM. El CLR es un entorno de ejecuci\u00f3n que gestiona la ejecuci\u00f3n de c\u00f3digo y proporciona servicios que pueden ser utilizados por ese c\u00f3digo.   \u00bfEs lo mismo el CLR que el JIT?  CLR (Common Language Runtime) y JIT (Just-In-Time) no son lo mismo. CLR es un entorno de ejecuci\u00f3n que gestiona la memoria y ejecuta el c\u00f3digo, mientras que JIT compila el c\u00f3digo en lenguaje de m\u00e1quina sobre la marcha durante la ejecuci\u00f3n. JIT es una parte de CLR. <\/p>\n<h4> \u00bfQu\u00e9 es el JIT y el CLR en .<\/h4>\n<p>NET Framework? El Common Language Runtime (CLR) es la m\u00e1quina virtual que gestiona la ejecuci\u00f3n de los programas .NET. Proporciona una serie de servicios, incluyendo la gesti\u00f3n de la memoria, la seguridad de tipos y la recolecci\u00f3n de basura. <br \/>\n El CLR tambi\u00e9n aplica una serie de restricciones de seguridad, conocidas como Sistema de Tipos Comunes (CTS), que ayudan a garantizar que el c\u00f3digo procedente de fuentes no fiables no pueda comprometer la seguridad del propio CLR o de otro c\u00f3digo que se ejecute en el CLR. <\/p>\n<h5> \u00bfQu\u00e9 es CLR CLS CTS JIT?<\/h5>\n<p> CLR <\/p>\n<p> El CLR es el principal motor de ejecuci\u00f3n de Microsoft .NET Framework. Gestiona la ejecuci\u00f3n de los programas .NET, proporcionando un entorno seguro de tipo y de memoria para su ejecuci\u00f3n. Tambi\u00e9n se encarga de otras tareas importantes, como la seguridad, la gesti\u00f3n de hilos y la recolecci\u00f3n de basura. <br \/>\n El Sistema de Tipos Comunes (CTS) es una parte clave del CLR. Define los tipos que se pueden utilizar en los programas .NET y c\u00f3mo esos tipos pueden interactuar entre s\u00ed. Esto garantiza que todos los programas .NET sean seguros en cuanto a tipos y memoria. <br \/>\n JIT es el compilador \"justo a tiempo\". Cuando se ejecuta un programa .NET, el CLR utiliza el JIT para compilarlo en c\u00f3digo m\u00e1quina que pueda ejecutarse en la plataforma de destino. Esta compilaci\u00f3n se realiza por m\u00e9todo, y el c\u00f3digo compilado se almacena en cach\u00e9 para que no tenga que volver a compilarse cada vez que se ejecute el m\u00e9todo. <br \/>\n CLS es la especificaci\u00f3n del lenguaje com\u00fan. Define un conjunto de reglas que todos los lenguajes .NET deben seguir. Esto asegura que los programas escritos en diferentes lenguajes .NET puedan interoperar entre s\u00ed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El CLR es el entorno de tiempo de ejecuci\u00f3n que gestiona la ejecuci\u00f3n de los programas .NET. Proporciona una serie de servicios, como la gesti\u00f3n de la memoria, la seguridad de tipos y la gesti\u00f3n de excepciones. El CLR tambi\u00e9n permite a los desarrolladores crear programas independientes del lenguaje. Cuando se compila un programa .NET, &#8230; <a title=\"Common Language Runtime (CLR)\" class=\"read-more\" href=\"https:\/\/techlib.net\/techedu\/common-language-runtime-clr\/\" aria-label=\"Leer m\u00e1s sobre Common Language Runtime (CLR)\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":3864,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-8047","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/posts\/8047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/users\/3864"}],"replies":[{"embeddable":true,"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/comments?post=8047"}],"version-history":[{"count":0,"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/posts\/8047\/revisions"}],"wp:attachment":[{"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/media?parent=8047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/categories?post=8047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techlib.net\/techedu\/wp-json\/wp\/v2\/tags?post=8047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}