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

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

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

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

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

Части управляемого модуля:

Часть

Описание

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

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

Заголовок CLR

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

Метаданные

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

Код IntermediateLanguage (IL)

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

 

 

 


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