Loading...

Какво е Common Language Runtime (CLR)?

avatar Катерина Костадинова 2 минути
Какво е Common Language Runtime (CLR)?

C# е един от най-популярните програмни езици, използвани от програмистите днес. Курсът C# Masterclass дава на студентите възможността да се потопят в дълбочина в технологията, изучавайки платформата .NET и C# на по-високо ниво. Един от елементите, над които ще се фокусират, е „сърцето“ на .NET - програмната среда CLR (Common Language Runtime), която е в центъра на внимание и в днешния материал. Вижте следващите редове, за да научите повече за CLR и предстоящия този месец курс!

Какво е Common Language Runtime?

Това е програмната среда, в която се изпълнява кодът на .NET приложенията (C#, F# и VB). Представлява виртуална машина, която компилира междинния код CIL (Common Intermediate Language) за конкретната хардуерна платформа и операционна система, с която работи потребителя. Използва се компилация по време на изпълнение или така нареченият Just-In-Time compiler.

Задълженията на CLR

Задълженията на CLR са няколко:

  - Изпълнението на IL кода и JIT компилацията;
  - Паметта и ресурсите на приложението;
  - Безопасността на типовете;
  - Сигурността;
  - Code access security;
  - Role-based security;
  - Изключенията;
  - Конкурентността;
  - Връзката с неуправляван код;
  - Процесите на debug и оптимизиране (profiling) при разработка на приложения.

CLR автоматично управлява паметта

Динамично-заделените обекти се разполагат в т. нар. Managed Heap. Неизползваните обекти се почистват автоматично от т. нар. Garbage Collector. Някои от най-неприятните проблеми в програмирането са почти невъзможни - загуба на памет (memory leaks), достъп до освободена или неинициализирана памет, в управлявания код няма указатели (!), използват се референции към обекти.

Intermediate Language (IL, MSIL, CIL)

Intermediate Language е език от ниско ниво със стекова архитектура, който отговаря за:

  - Инструкции за заделяне на памет;
  - Инструкции за предизвикване и обработка на изключения;
  - Инструкция за извикване на виртуален метод;
  - Позволява ефективно компилиране до машинен код за различни платформи;
  - Винаги се компилира преди изпълнение.

Не пропускайте да се запишете за курса C# Masterclass - октомври 2019, който ще ви запознае още по-отблизо със C#, .NET, CLR, Memory Management System, ще научите как работи Garbage Collector в .NET, ще разгледате интересни похвати при боравенето с езика C# и още много. Курсът е с цялостна практическа насоченост, за да ви подготви максимално най-добре за реалната работна среда, като практикувате своевременно всяко новопридобито умение. За повече информация и записвания – посетете ТОЗИ линк!