Природа программирования в терминах 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).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
3.1. Природа объекта
3.1. Природа объекта Что является и что не является объектом? Способностью к распознанию объектов физического мира человек обладает с самого раннего возраста. Ярко окрашенный мяч привлекает внимание младенца, но, если спрятать мяч, младенец, как правило, не пытается его
3.3. Природа классов
3.3. Природа классов Что такое класс? Понятия класса и объекта настолько тесно связаны, что невозможно говорить об объекте безотносительно к его классу. Однако существует важное различие этих двух понятий. В то время как объект обозначает конкретную сущность,
Асинхронная природа делегатов
Асинхронная природа делегатов Если для вас тема многопоточных приложений является новой, вы можете спросить, чем же на самом деле является асинхронный вызов метода. Вы, без сомнения, знаете о том, что для выполнения некоторых программных операций требуется время.
Добавление и извлечение данных: стековая природа CIL
Добавление и извлечение данных: стековая природа CIL Высокоуровневые языки .NET (например, такие как C#) пытаются максимально скрыть низкоуровневые сложности. Одним из аспектов разработки .NET, который оказывается скрытым особенно хорошо, является тот факт, что CIL является
Природа Web-элементов управления
Природа Web-элементов управления Возможно, самым большим преимуществом ASP.NET является возможность компоновки пользовательского интерфейса страниц с помощью типов, определенных в пространстве имен System.Web.UI.WebControls. Соответствующие этим типам элементы управления (для
13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов
13.2.3. Формулировка игровых задач в терминах И/ИЛИ-графов Такие игры, как шахматы или шашки, естественно рассматривать как задачи, представленные И/ИЛИ-графами. Игры такого рода называются играми двух лиц с полной информацией. Будем считать, что существует только два
Глава 16 Программирование в терминах типовых конфигураций
Глава 16 Программирование в терминах типовых конфигураций В этой главе мы будем заниматься системами, ориентированными на типовые конфигурации ("образцы"), рассматривая их как некоторый специальный подход к программированию. Языком, ориентированным на образцы, можно
ОГОРОД КОЗЛОВСКОГО: Кругом природа Коктебля…
ОГОРОД КОЗЛОВСКОГО: Кругом природа Коктебля… Автор: Козловский ЕвгенийДальше в этой песенке было: «Но портят эту красоту//Сюда приехавшие ту-//неядцы, б… моральные уроды». Точно! Испортили! Говорят, в Коктебеле не было гастролеров лет семь, – а тут, словно подгадав под мой
Природа: Люди и звезды
Природа: Люди и звезды В лондонской Национальной галерее висит портрет человека, обозначенного как «пират и гидрограф». Звали его Уильям Дампир (William Dampier, 1651-1715). Один из тех, кого в эпоху Великих географических открытий равно влекли нажива и знание. Наемник. Неудачливый
Кивино гнездо: Такова природа наша? Берд Киви
Кивино гнездо: Такова природа наша? Берд Киви Опубликовано 09 февраля 2011 года Лет десять-пятнадцать тому назад на небосводе легального хакинга блистали несколько имён, которые можно встретить в новостях и сегодня — но только уже в куда более
Цена за электронику, которую платит природа Николай Маслухин
Цена за электронику, которую платит природа Николай Маслухин Опубликовано 25 сентября 2013 На ежегодном международном фестивале дизайна, проходящем в Лондоне (London Design Festival 2013), появилась необычная инсталляция — кулеры с тёмной, грязной водой.
Рынок брендинга запутался в терминах: как разобраться стартапу? Кирилл Халюта, генеральный директор брендинговой компании «Freedomart»
Рынок брендинга запутался в терминах: как разобраться стартапу? Кирилл Халюта, генеральный директор брендинговой компании «Freedomart» Опубликовано 26 апреля 2013Отсутствие единой терминологии в брендинге позволяет недобросовестным компаниям продавать свои услуги
Глава 7 Свет бывает разным. Природа света
Глава 7 Свет бывает разным. Природа света • Свет• Цвет• Тональность• Как правильно использовать дополнительный свет• Фотографируем со вспышкой• Ночное освещениеСвет, который используется в фотографии, может иметь как естественную природу, так и происходить от
Противоречия в терминах
Противоречия в терминах Автор: Киви БердВ Интернет утекли кое-какие секретные документы ITU, Международного Союза по телекоммуникациям, касающиеся закулисной разработки новых стандартов-протоколов, направленных на надежное отслеживание отправителей любых сетевых