* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Компиляция и исполнение .NET-приложений
7 февраля 2009

Как уже говорилось, во время компиляции .NET-приложений вместо двоичных ма-
шинных кодов генерируется IL-код, который представляет собой набор низкоуров-
невых команд, интерпретируемых CLR. Приложения развертываются в виде одной
или нескольких сборок, которые состоят из исполняемых файлов и DLL, содержа-
щих IL-код. По крайней мере одна из этих сборок должна содержать исполняемый
файл, помеченный как входная точка приложения.
После запуска программы в память загружается первая сборка. Анализируя ее
декларацию, СLR определяет требования для работы программы. В частности, CLR
анализирует разрешения, запрашиваемые сборкой, и сравнивает их с системной
политикой безопасности. Если системная политика безопасности не дает програм-
ме запрошенные разрешения, приложение не запускается, в противном случае CLR
приступает к исполнению кода. Сначала CLR создает процесс, в котором будет ра-
ботать приложение, и начинает исполнять его код. При этом первая порция испол-
няемого кода (в виде команд языка IL) загружается в память и компилируется JIT-
компилятором (Just-In-Time compiler) в машинные коды, специфичные для данно-
го компьютера. Машинный код исполняется и остается в памяти, поэтому каждый
фрагмент кода компилируется не более одного раза во время исполнения приложе-
ния. Каждый раз, когда программа вызывает новую часть кода, которая не испол-
нялась ранее, ЛТ-компилятор заблаговременно компилирует ее и сохраняет полу-
ченный двоичный код в памяти. Такой подход позволяет достичь максимальной
производительности приложения, поскольку компилируются только те части про-
граммы, которые исполняются.

Инфраструктура .NET Framework представляет собой основу для разработки
программного обеспечения. Она состоит из общеязыковой исполняющей среды
(CLR), поддерживающей основные сервисы, необходимые для исполнения про-
грамм, и библиотеки базовых классов .NET со множеством готовых классов, что
значительно облегчает разработку программ. Общеязыковая спецификация
(CLS) определяет минимальный набор правил, которых должны придерживать-
ся все языки, использующие .NET Framework, а общая система типов (CTS) га-
рантирует совместимость типов в компонентах, написанных на разных языках.
• Основной единицей .NET-приложений считается сборка, непременным компо-
нентом которой является декларация. Декларация описывает сборку, а также
один или несколько модулей с исходным кодом приложения.
• Исполняемые файлы в .NET содержат команды языка IL. При загрузке сборки
запрошенные ею разрешения проверяются на соответствие системной политике
безопасности локального компьютера. Если исполнение приложения разреша-
ется, первая сборка загружается в память и компилируется .ЦТ-компилятором в
двоичный код, непосредственно для данного компьютера; этот код остается в
памяти до окончания исполнения программы.

Теги: .NET

Статьи по теме:

Применение наборов элементов управления
Создание конфигурационного файла
Установка и извлечение динамических свойств вручную
Декларативная защита, основанная на ролях
Реализация полиморфизма через интерфейсы
Объект DataRelation
События жизненного цикла формы
Замыкания (closure)
Разделяемые сборки
Реализация обработчиков событий
Объекты и члены
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
Циклические ссылки
Свойства Font, Cursor и BackGroundlmage
Извлечение типизированных данных с помощью объекта DataReader
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Компиляция и исполнение .NET-приложений. Регион сайта: Москва и Санкт-Петербург