Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Платформа Microsoft .NET Framework






Структура. Управляемый и неуправляемый код.

Базовые функциональные возможности платформы.NET в числе прочего включают в себя:

 

Управление памятью и сборка мусора.

 

Возможность обеспечения взаимодействия с существующим программным кодом, т.е. взаимодействия между управляемым кодом (кодом, созданным для СLR) и неуправляемым кодом.

Эта возможность, несомненно, является очень ценной, поскольку позволяет комбинировать существующие двоичные единицы СОМ (т.е. обеспечивать их взаимодействие) с более новыми двоичными единицами.NET и наоборот. С выходом версии.NET 4.0 эта возможность стала выглядеть даже еще проще, благодаря добавлению ключевого слова dynamic.

 

Поддержка для многочисленных языков программирования

Приложения.NET можно создавать с помощью любого множества языков программирования (С#, Visual Basic, F#, S# и т.д.). При этом в.NET код, написанный на любом языке компилируется в код на промежуточном языке (Intermediate Language - IL).

 

Полная интеграция языков

В.NET поддерживается межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка кода. При этом.NET использует общий исполняющий механизм, основным аспектом которого является хорошо определенный набор типов, который способен понимать каждый, поддерживающий.NET язык.

 

Так же в.NET был полностью переделан способ разделения кода между приложениями за счет введения понятия сборки (assembly) вместо традиционных библиотек DLL. Сборки обладают формальными средствами для управления версиями и допускают одновременное существование рядом нескольких различных версий сборок.


Перед тем как код сможет выполняться CLR, любой исходный текст (на С# или другом языке) должен быть скомпилирован. Компиляция в.NET состоит из двух шагов:

 

1. Компиляция исходного кода в Microsoft Intermediate Language (IL)

 

2. Компиляция IL в специфичный для платформы код с помощью CLR

 

Этот двухшаговый процесс компиляции очень важен, потому что наличие Microsoft Intermediate Language (IL) является ключом ко многим преимуществам.NET. Microsoft Intermediate Language (промежуточный язык Microsoft) разделяет с байт-кодом Java идею низкоуровневого языка с простым синтаксисом (основанным на числовых, а не текстовых кодах), который может быть очень быстро транслирован в родной машинный код.

 

Использование байт-кода с четко определенным универсальным синтаксисом дает ряд существенных преимуществ:

 

Независимость от платформы

Первым делом, это значит, что файл, содержащий инструкции байт-кода, может быть размещен на любой платформе; во время выполнения может быть легко проведена финальная стадия компиляции, что позволит выполнить код на конкретной платформе. Другими словами, компилируя в IL, вы получаете платформенную независимость.NET — во многом так же, как компиляция в байт-код Java обеспечивает независимость от платформы программам на Java.

 

Повышение производительности

Хотя язык IL выше сравнивался с Java, все же IL на самом деле более гибкий, чем байт-код Java. Код IL всегда компилируется оперативно (Just-In-Time, JIT-компиляция), в то время как байт-код Java часто интерпретируется. Одним из недостатков Java было то, что во время выполнения программ процесс трансляции байт-кода Java в родной машинный код приводил к снижению производительности (за исключением самых последних версий, где Java компилируется оперативно (JIT) на некоторых платформах).

 


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал