Имя Пароль
Зарегистрироваться


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



Промежуточный язык
31 марта 2009

Рассмотрим промежуточный язык (IL) более подробно. Код IL не зависит от плат-
формы, на которой будет производиться выполнение. При этом компилятор для
платформы .NET сгенерирует код IL вне зависимости от того, какой язык профаммиро-
вания (Delphi, C#, Visual Basic.NET, Eiffel и т.д.) использовался для создания профам-
мы. В качестве примера мы создадим профамму сложения двух чисел. Единственное,
что она у нас будет уметь делать, — складывать числа 2 и 3. Ниже приведен листинг
с кодом этой профаммы на языке Delphi. Даже не зная языка Delphi, можно понять
смысл этой профаммы, а на синтаксические конструкции пока не обращайте внимания.
program Sum;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
X,Y,SumXY: Integer;
begin
X := 2;
Y := 3;
SumXY := X + Y;
Write(SumXY);
Readln;
end.
После компиляции этой программы будет получен исполняемый файл Sum.exe.
Этот файл не является обычным исполняемым файлом, а представляет сборку, ко-
торую можно выполнить только на платформе .NET. Внутри этого файла находятся
манифест, необходимые библиотеки, команды IL и метаданные, описывающие
программу Sum, которые легко увидеть с помощью программы ildasm.exe
На первом этапе вам не придется разбираться с кодом IL, поэтому не старайтесь
понять, что там написано. Лишь отметьте для себя, как просто получить доступ к лю-
бой сборке и узнать все, что необходимо для понимания работы элементов сборки.
При этом можете наглядно убедиться, что компилятор Delphi генерирует не зависи-
мый от платформы набор команд, а код IL.
Но почему Microsoft пошла по пути создания IL и какие преимущества IL перед
обычным набором зависимых от платформы команд? Одно из преимуществ, о кото-
ром уже упоминалось, — это возможность полного межъязыкового взаимодействия.
Поскольку любой код на любом языке программирования .NET компилируется
в стандартный набор инструкций IL, проблем с взаимодействием между блоками кода
IL не будет. При этом взаимодействие будет производиться на двоичном уровне, что
является залогом высокого быстродействия.
Еще одно возможное преимущество — независимость от аппаратной платформы.
Можно предположить, что среда выполнения .NET будет распространена на самые
разные компьютерные платформы и операционные системы (отличные от Windows),
что уже произошло с языком Java.
Поскольку в сборках содержится независимый от платформы код IL, а выполня-
ются в конечном итоге команды, рассчитанные на определенную платформу, то кто-
то должен взять на себя работу по компиляции IL в команды для нужной платформы.
Этим занимается компилятор времени исполнения (ЛТ). Компилятор ЛТ входит
в состав среды исполнения .NET. Используя код IL, разработчики могут не думать об
особенностях архитектуры центрального процессора определенного компьютера — эти
особенности будут учтены ЛТ.
Откомпилированные из IL платформенно-зависимые команды компилятор ЛТ раз-
мещает в кэш-памяти, что значительно ускоряет работу приложения. Например, при
первом вызове какого-либо метода ЛТ откомпилирует относящийся к этому методу код
IL в платформенно-зависимые команды. При повторных вызовах этого метода ЛТ уже
не будет заниматься компиляцией, а просто возьмет готовый код из кэш-памяти.

Теги: линейное программирование графический метод, программирование на pascal .NET

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

Применение компонента HelpProvider
Перебор элементов массивов и наборов
Подключение класса DoughnutMachine к пользовательскому интерфейсу
Cosmos – C# Open Source Managed Operating System
Создание поддержки печати
Обработка ошибок при обновлении базы данных
Модификация и обновление данных
Отображение сообщений об ошибках
Проект установочной программы
Создание экземпляров пользовательских типов
Blend PDF with Silverlight
Установка порядка передачи фокуса при нажатии клавиши Tab
Использование шаблонов кода
Замещение членов базового класса в Visual Basic .NET
Объект Graphics
| .NET | vitek |
 


Пн Вт Ср Чт Пт Сб Вс
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


     



Rambler

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

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