Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Загрузка CLR




X86

Alpha

Переносимость

Program.cs

Visual Studio.NET

Ассемблер Intermediate Language (IL)

Языки для платформы.NET

Управляемый модуль — это стандартный переносимый исполняемый (portable executable, РЕ) файл Windows на промежуточном языке IL, который требует для своего выполнения CLR.

Управляемый модуль

JIT

Exe-файл не создается

При загрузке

DLL-библиотек

Ф-й и имена

LIBRARY.DLL перечень PROGRAM.EXE

PE-за­головок
.text
.data
.rsrc
.idata
...

 

Схема интерпретации для Windows-платформы

Интерпре­татор, VM
Программа
Модули
Модули
Модули
  Выполнение


Схема создания УПРАВЛЯЕМОГО ЕХЕ-файла в.NET

  Internet
Компилятор языка C#
Программа на C#
Модули
Модули
Модули
  Выполнение
Программа на MSIL .EXE
Среда исполнения CLR (Компилятор языка MSIL)
Компоновщик
FCL


Visual Basic.NET J#.NET, F#.NET

Visual C++.NET C#

Известны компиляторы для.NET: Alice, APL, COBOL, Component Pascal, Eiffel, Fortran, Haskell, Mercury, ML, Mondrian, Oberon, Perl, Python, RPG, Scheme и Smalltalk.

 

Система программирования C#


Разработка исходной программы

Программа на исходном языке С#


csc.exe – компилятор + компоновщик

Компиляция исходной программы


Program.exe – сборка

Библиотеки классов
Program.dll – сборка

программа на промежуточном языке MSIL


- переносимый язык ассемблера

- не зависит от процессора, работает с DLL

 

Метаданные
CLR Не зависимая от языка среда исполнения    

Загрузчик классов

 


Выполнение  
Управляемый код на языке машины
JIT-ком­пилятор
  Internet
Модули
Модули
Модули
 
Программная модель
Common
Language
Runtime
Execution
Engine
CIL &
Metadata
Библиотека класса
Загрузчик классов
Управляемый код на языке машины
Выполнение
Компилятор C#
JIT Compiler
Исходный
код

 

 


  ЭВМ
PowerPC

.NET Framework

.NET Framework
.NET Framework
Программа C# на языке MSIL

Формат управляемого модуля

 

 

· Сериализация · Безопасность · Сборка мусора · Отслеживание версий · …
РЕ-заголовок
CLR-заголовок: · Версия · Точки входа · Расположение метаданных и ресурсов
Метаданные: · Таблицы описаний внешних типов и их членов · Таблицы описаний ваших типов и членов · Декларация (что в сборке) ·...
  IL-код
Компоненты
Сборки
FCL-типы и методы (параметры)

 


Импортируемые типы и их члены

Локальная сеть

Интернет

 

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

 

§ Метаданные всегда встроены в тот же EXE/DLL, что и код, поэтому метаданные и IL-код, описываемый ими, никогда не бывают рассинхронизированы.

 

§ Метаданные устраняют необходимость в заголовочных и библиотечных файлах при компиляции, так как все сведения о типах/членах, на которые есть ссылки, содержатся в файле с IL-кодом.

 

§ Функция VS.NET IntelliSense анализирует метаданные и сообщает, какие методы предлагает тип и какие параметры требуются этим методам.

 

§ CLR использует метаданные, чтобы убедиться, что ваш код совершает только «безопасные» операции.

 

Объединение управляемых модулей в сборку

 

· Сборка- это логическая группировка одного или нескольких управляемых модулей или файлов ресурсов (однофайловая или многофайловая)

· Сборка- это самая маленькая единица, с точки зрения повторного использования, безопасности и отслежи­ва­ния версий, то есть сборка выполняется как одно целое.

· Сборки позволяют вам разбить на части процесс развертывания файлов и в то же время рассматривать все файлы как единый набор (отдельные файлы могут загружаться из Web по мере надобности).

· CLR знает о сборке все, что нужно для ее выполнения. (Дополнительной информации не требуется ни в реестре, ни в службе каталогов Active Directory. А раз так, развертывать сборки гораздо проще, чем неуправляемые компоненты.)

 

При запуске управляемой сборки в Windows XP/.NET Server загрузчик ОС определяет, является ли файл управляемым модулем, и если это так, то автоматически загружает CLR (MSCorEE.dll) в адресное пространство процесса.




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 482; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.