Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / 2010_150 Акчурин - Программирование на языке C#.doc
Скачиваний:
197
Добавлен:
10.06.2015
Размер:
4.82 Mб
Скачать
    1. Общие сведения о .Net Framework

.Net –одна из возможных реализаций так называемой общей инфраструктуры языков (Common Language Infrastructure, сокращенно CLI), спецификация которой разработана корпорацией Microsoft.

Можно, руководствуясь этой спецификацией, разработать собственную реализацию CLI. В настоящее время ведутся по крайней мере два посвященных этому проекта. Это платформа Mono, создаваемая компанией Ximian, и разрабатываемый в рамках GNU проект Portable.Net. Кроме того, Microsoft распространяет в исходных текстах еще одну свою реализацию CLI, работающую как в Windows, так и под управлением FreeBSD. Эта реализация называется Shared Source CLI (иногда можно услышать другое название – Rotor).

Чтобы понять, как работает .Net, необходимо изучить спецификацию CLI. Это ее составные части:

  • Общая система типов (Common Type System, сокращенно CTS). Охватывает большую часть типов, встречающихся в распространенных языках программирования.

  • Виртуальная система исполнения (Virtual Execution System, сокращенно VES). Отвечает за загрузку и выполнение программ, написанных для CLI.

  • Система метаданных (Metadata System). Предназначена для описания типов, хранится в независимом от конкретного языка программирования виде, используется для передачи типовой информации между различными метаинструментами, а также между этими инструментами и VES.

  • Общий промежуточный язык (Common Intermediate Language, сокращенно CIL) – независимый от платформы объектно-ориентированный байт-код, выступающий в роли целевого языка для любого поддерживающего CLI компилятора. Программа создается на одном из поддерживаемых в .NET языков программирования, компилируется в код CIL, из которого собирается исполняемый файл. Для каждого языка используется свой компилятор.

  • Общая спецификация языков (Common Language Specification, сокращенно CLS). Это соглашение между разработчиками языков программирования и разработчиками библиотек классов, в котором определено подмножество CTS и набор правил. Если разработчики языка реализуют хотя бы определенное в этом соглашении подмножество CTS и при этом действуют в соответствии с указанными правилами, то пользователь языка получает возможность использовать любую соответствующую спецификации CLS библиотеку.

    1. C# и платформа .Net Framework

В отличие от традиционного кода на C и C++, код C# не компилируется непосредственно в машинный язык. Компилятор C# преобразует исходный код C# в код на промежуточном языке IL (MIcrosoft IntermediateLanguage). Файлы IL (или сокращенно IL) называются сборками. Файлы IL создаются всеми языками на основе общеязыковой среды выполнения CLR (CLR – Common Language Runtime). Среда CLR поддерживает языки Visual C#, Visual C++, Visual J# и Visual Basic. Созданные файлы IL в большинстве случаев практически идентичны во многих языках, что упрощает сочетание различных программных компонентов, написанных на разных языках.

На следующей схеме показано преобразование написанного кода C# в исполняемое приложение.

Файлы CIL отображаются в виде стандартных файлов EXE или DLL, однако вместо выполнения непосредственно на платформе Windows, они выполняются средой CLR. При необходимости CLR компилирует программу IL в машинный код. Данный процесс называется JIT-компиляцией (JIT – JustinTime). Затем происходит прямое выполнение этого кода. В исполняемый код включаются ссылки на подпрограммы, содержащиеся в сборках (иначе, динамически подключаемых библиотеках DLL) платформы .NET Framework. Чтобы они работали, на компьютередолжнабыть установлена платформа .NET Framework.

За счет создания промежуточного, независимого от оборудования кода, который не преобразуется в машинный код вплоть до последнего момента, повышается надежность, безопасность и переносимость. Большая часть этого процесса скрыта от программистов: программы C# компилируются, выполняются и распространяются так же, как и другие. Пока на компьютере установлена платформа .NET Framework, программа C# будет выполняться подобно любому другому приложению.

Файлы CIL имеют расширение .exe. Однако фактически это исходники. Если их нужно разворачивать на компьютере без платформы .NET Framework, то требуется формировать настоящий исполняемый файл, используя специальные процедуры.

Возможности платформы .NET Framework упорядочены по пространствам имен, каждое из которых обычно содержит несколько классов. Например, пространство имен System.IO содержит много классов для чтения и записи файлов, а пространство имен System.Text включает классы для обработки строковых данных. Просмотрите справочную документацию по библиотеке классов .NET Framework, чтобы получить представление о различных пространствах имен и их содержимом.

Соседние файлы в папке Desktop_1