пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Компиляция исходного кода в управляемые модули. Понятие, назначение и структура управляемого модуля.

Общеязыковая среда выполнения (Common Language Runtime, CLR) - это среда выполнения, которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду. Фактически во время выполнения программы в среде CLR неизвестно, на каком языке программирования разработчик написал исходный код. Разрабатывать программное обеспечение можно на любом языке программирования, если используемый компилятор этого языка предназначен для CLR.

Процесс компиляции:

Файл-исходник на C# (Basic, IL) -> Компилятор С# (Basic, IL) -> Управляемый модуль (IL и метаданные)

Управляемый код – программный код, который при своем выполнении способен использовать службы, предоставляемые CLR. Соответственно, неуправляемый код подобной способностью не обладает.

Структура управляемого модуля:

Часть

Описание

Заголовок РЕ32 или РЕ32+

Стандартный заголовок РЕ-файла Windows. Показывает тип файла: GUI, CUI или DLL, он также имеет временную метку, показывающую, когда файл был собран. Для модулей, содержащих только IL-код, основной объем информации в заголовке РЕ32(+) игнорируется. В модулях, содержащих машинный код, этот заголовок содержит сведения о машинном коде

Заголовок CLR

Содержит информацию (интерпретируемую CLR и утилитами), которая превращает этот модуль в управляемый. Заголовок включает нужную версию CLR, некоторые флаги, метку метаданных MethodDef точки входа в управляемый модуль (метод Main), а также месторасположение/размер метаданных модуля, ресурсов, строгого имени, некоторых флагов и пр.

Метаданные

Каждый управляемый модуль содержит таблицы метаданных. Есть два основных вида таблиц - это таблицы, описывающие типы данных и члены, определенные в исходном коде, и таблицы, описывающие типы данных и члены, на которые имеются ссылки в исходном коде

Код IntermediateLanguage

Код, создаваемый компилятором при компиляции исходного кода. Впоследствии CLR компилирует IL в команды процессора

 

 

 

 

 


14.01.2019; 12:06
хиты: 141
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь