Природа программирования в терминах CIL

Природа программирования в терминах CIL

CIL – это родной язык платформы .NET, Когда вы создаете компоновочный блок .NET, используя тот управляемый язык, который вы предпочитаете, соответствующий компилятор переводит ваш исходный код в термины CIL. Подобно любому языку программирования, язык CIL предлагает множество программных и структурных лексем. Поскольку CIL является одним из языков программирования .NET не должно быть удивительным то, что вполне возможно создавать компоновочные блоки .NET непосредственно с помощью CIL и CIL-компилятора (ilasm.exe), вхо-дящего в стандартную поставку .NET Framework 2.0 SDK.

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

• Понимание того, как различные языки программирования .NET проецируют свои ключевые слова в лексемы CIL.

• Возможность дезассемблирования компоновочных блоков .NET, редактирования программного кода CIL и перекомпиляции обновленного базового кода в измененный двоичный код  .NET

• Возможность построения динамических компоновочных блоков с помощью элементов пространства имен System.Refleсtion.Emit.

• Иcпользование тех возможностей CTS (Common Type System – общая система типов), которые не поддерживаются управляемыми языками более высокого уровня, но существуют на уровне CIL. Язык CIL является единственным языком .NET, позволяющим получить доступ ко всем возможностям CTS.

Например, используя CIL, вы можете определять члены и поля глобального уровня (что не позволено в C#).

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

Замечание. Следует понимать, что в данной главе не предлагается всестороннее и исчерпывающее описание синтаксиса и семантики CIL. Если вам требуется всесторонний анализ возможностей CIL, обратитесь к книге Jason Bock, CIL Programming: Under the Hood of .NET (Apress, 2002).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Природа: Люди и звезды

Из книги Журнал «Компьютерра» №36 от 04 октября 2005 года автора Журнал «Компьютерра»

Природа: Люди и звезды В лондонской Национальной галерее висит портрет человека, обозначенного как «пират и гидрограф». Звали его Уильям Дампир (William Dampier, 1651-1715). Один из тех, кого в эпоху Великих географических открытий равно влекли нажива и знание. Наемник. Неудачливый


ОГОРОД КОЗЛОВСКОГО: Кругом природа Коктебля…

Из книги Журнал «Компьютерра» № 31 от 28 августа 2007 года автора Журнал «Компьютерра»

ОГОРОД КОЗЛОВСКОГО: Кругом природа Коктебля… Автор: Козловский ЕвгенийДальше в этой песенке было: «Но портят эту красоту//Сюда приехавшие ту-//неядцы, б… моральные уроды». Точно! Испортили! Говорят, в Коктебеле не было гастролеров лет семь, – а тут, словно подгадав под мой


Противоречия в терминах

Из книги Журнал `Компьютерра` №751 автора Журнал «Компьютерра»

Противоречия в терминах Автор: Киви БердВ Интернет утекли кое-какие секретные документы ITU, Международного Союза по телекоммуникациям, касающиеся закулисной разработки новых стандартов-протоколов, направленных на надежное отслеживание отправителей любых сетевых


Асинхронная природа делегатов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Асинхронная природа делегатов Если для вас тема многопоточных приложений является новой, вы можете спросить, чем же на самом деле является асинхронный вызов метода. Вы, без сомнения, знаете о том, что для выполнения некоторых программных операций требуется время.


Добавление и извлечение данных: стековая природа CIL

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

Добавление и извлечение данных: стековая природа CIL Высокоуровневые языки .NET (например, такие как C#) пытаются максимально скрыть низкоуровневые сложности. Одним из аспектов разработки .NET, который оказывается скрытым особенно хорошо, является тот факт, что CIL является


Природа Web-элементов управления

Из книги Цифровой журнал «Компьютерра» № 55 [07.02.2011 — 13.02.2011] автора Журнал «Компьютерра»

Природа Web-элементов управления Возможно, самым большим преимуществом ASP.NET является возможность компоновки пользовательского интерфейса страниц с помощью типов, определенных в пространстве имен System.Web.UI.WebControls. Соответствующие этим типам элементы управления (для


3.1. Природа объекта

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

3.1. Природа объекта Что является и что не является объектом? Способностью к распознанию объектов физического мира человек обладает с самого раннего возраста. Ярко окрашенный мяч привлекает внимание младенца, но, если спрятать мяч, младенец, как правило, не пытается его


3.3. Природа классов

Из книги Цифровой журнал «Компьютерра» № 17 (170) автора Журнал «Компьютерра»

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


Кивино гнездо: Такова природа наша? Берд Киви

Из книги Цифровой журнал «Компьютерра» № 192 автора Журнал «Компьютерра»

Кивино гнездо: Такова природа наша? Берд Киви Опубликовано 09 февраля 2011 года Лет десять-пятнадцать тому назад на небосводе легального хакинга блистали несколько имён, которые можно встретить в новостях и сегодня — но только уже в куда более


13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов

Из книги Цифровая фотография от А до Я [2-е издание] автора Газаров Артур Юрьевич

13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов Такие игры, как шахматы или шашки, естественно рассматривать как задачи, представленные И/ИЛИ-графами. Игры такого рода называются играми двух лиц с полной информацией. Будем считать, что существует только два


Глава 16 Программирование в терминах типовых конфигураций

Из книги Новый ум короля [О компьютерах, мышлении и законах физики] автора Пенроуз Роджер

Глава 16 Программирование в терминах типовых конфигураций В этой главе мы будем заниматься системами, ориентированными на типовые конфигурации ("образцы"), рассматривая их как некоторый специальный подход к программированию. Языком, ориентированным на образцы, можно


Рынок брендинга запутался в терминах: как разобраться стартапу? Кирилл Халюта, генеральный директор брендинговой компании «Freedomart»

Из книги автора

Рынок брендинга запутался в терминах: как разобраться стартапу? Кирилл Халюта, генеральный директор брендинговой компании «Freedomart» Опубликовано 26 апреля 2013Отсутствие единой терминологии в брендинге позволяет недобросовестным компаниям продавать свои услуги


Цена за электронику, которую платит природа Николай Маслухин

Из книги автора

Цена за электронику, которую платит природа Николай Маслухин Опубликовано 25 сентября 2013 На ежегодном международном фестивале дизайна, проходящем в Лондоне (London Design Festival 2013), появилась необычная инсталляция — кулеры с тёмной, грязной водой.


Глава 7 Свет бывает разным. Природа света

Из книги автора

Глава 7 Свет бывает разным. Природа света • Свет• Цвет• Тональность• Как правильно использовать дополнительный свет• Фотографируем со вспышкой• Ночное освещениеСвет, который используется в фотографии, может иметь как естественную природу, так и происходить от