Компилаторите като VB .NET представят функционалността на
CLR да позволяват на разработчиците създаване на апликации. Кодът,
който се създава под тази развойна среда се нарича управляван код
(managed code) . Компонентите COM
не са управляван код, въпреки че могат да се използват
в апликациите, които са построени под
CLR.
Изходът на компилатора включва метаданни (
metadata), които са информация, описваща
обектите на апликацията като:
· Типове данни и техните зависимости
· Обекти и техните членове
· Референции към изисквани компоненти
· Информация за компонентите и ресурсите,
използвани за построяване на апликацията
Метаданните при
CLR се използват за:
· Управление на локациите памет
· Локализиране и зареждане на инстанциите
на класовете
· Управление на обектните референции и преобразуване на колекцията
за боклук
· Решаване на обръщенията на методите
· Генериране на естествен код
· Гарантиране, че апликацията е в
коректната версия и с необходимите компоненти и ресурси
· Задействане на защитата (сигурността)
Метаданните в компилирания софтуерен компонент правят
компонентите само-описващи се (
self-describing). Това допринася компонента, дори
и написан на друг език да може да общува с даден компонент директно. Обекти,
чийто мениджмънт е при
CLR се наричат управлявани данни (
managed data). (Допустимо е да се използват и
неуправлявани данни в апликациите.)
Common Language Runtime се състои от
:
Common Type System - обезпечава поддържането на типовете и
операциите над тези типове
Metadata - описва
и свързва типовете дефинирани от
CTS; обезпечава общия
обменен механизъм.
Virtual Execution System - зарежда и стартира програми,
написани под
CLR; използва метаданни
за изпълняване на управляван (
managed) код; осъществява обслужвания като
garbage
collection;
Фигура 73 Общият език за изпълнение