Роль меток в программном коде CIL

Роль меток в программном коде CIL

Вы. конечно, заметили, что в каждой строке программного кода реализации содержится префикс в форме лексемы IL_XXX: (например, IL_0000: IL_0001: и т.д.). Эти лексемы называются метками кода, и они могут иметь любой вид, какой вы только пожелаете (лишь бы они не дублировались в пределах одного и того же контекста). При записи содержимого компоновочного блока в файл с помощью ildasm.exe автоматически генерируются метки кода, имеющие вид IL_XXX:. Но вы можете изменить их с тем, чтобы они стали более информативными.

.method private hidebysig static void Main(string[] args) cil managed {

 .entrypoint

 .maxstack 8

 Nothing_1: nop

 Load_String: ldstr "Hello CIL code!"

 PrintToConsole: call void [mscorlib]System.Console::WriteLine(string)

 Nothing_2: nop

 WaitFor_KeyPress: call string [mscorlib] System.Console::ReadLine()

 RemoveValueFromStack: pop

 Leave_Functlon: ret

}

Суть в том, что большинство меток кода совсем необязательно. Единственным случаем, когда метки кода оказываются по-настоящему полезными (и обязательными), является случай, когда в программном коде CIL используются ветвления или циклические конструкции. Например, в нашем случае вы можете исключить метки вообще.

.method private hidebysig static void Main(string[] args) cil managed {

 .entrypoint

 .maxstack 8

 nop

 ldstr "Hello CIL code!"

 call void [mscorlib]System.Console::WriteLine(string)

 nop

 call string [mscorlib]System.Console::ReadLine()

 pop

 ret

}

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

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

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

Создание центральных меток

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

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


Создание центральных меток

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

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


3.4. Общие сведения о программном обеспечении

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

3.4. Общие сведения о программном обеспечении В соответствии с принципом программного управления любой компьютер можно рассматривать как совокупность аппаратной (или технической) и программной частей.К настоящему моменту выделяют три вида программных


О программном сопровождении

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

О программном сопровождении Приведенный список факторов не включил обычно приводимое качество: возможность сопровождения (maintainability). Чтобы понять почему, мы должны поближе взглянуть на лежащее в его основе понятие: сопровождение (maintenance) . Сопровождение начинается с


Пример: установка меток времени файла

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Пример: установка меток времени файла Программа 3.3 реализует UNIX-команду touch, предназначенную для изменения кода защиты файлов и обновления меток времени до текущих значений системного времени. В упражнении 3.11 от вас требуется расширить возможности функции touch таким


22.6.2 Использование меток потока

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

22.6.2 Использование меток потока Поток — это последовательность пакетов от источника до точки назначения, требующая специального обслуживания. Например, обработка аудио или видео в реальном масштабе времени отличается от обработки обычных данных.Метка потока


Защищенное проставление меток времени

Из книги Инфраструктуры открытых ключей автора Полянская Ольга Юрьевна

Защищенное проставление меток времени Защищенное датирование, или проставление меток времени , заключается в связывании доверенным центром датирования метки времени с определенной "порцией" данных при сохранении их аутентичности и целостности. Причем, важным


11.3.6. Изменение временных меток файла

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

11.3.6. Изменение временных меток файла Владелец файла может изменять mtime и atime файла на любое желаемое значение. Это делает такие метки бесполезными для целей аудита, но позволяет инструментам архивирования вроде tar и cpio сбрасывать временные метки файлов в то значение,


Использование информации из окна обозревателя объектов в программном коде

Из книги VBA для чайников автора Каммингс Стив

Использование информации из окна обозревателя объектов в программном коде Обозреватель объектов удовлетворит любое любопытство к объектам в проекте, но, кроме того, он может служить и довольно неплохим средством создания программного кода. После того как вы найдете


Закладки в программном коде

Из книги Полное руководство по Microsoft Windows XP автора Нортон Питер

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


18. Сетевые подключения на аппаратном и программном уровнях

Из книги Интернет-маркетинг. Полный сборник практических инструментов автора Вирин Федор Юрьевич

18. Сетевые подключения на аппаратном и программном уровнях Создание сетевого подключения на аппаратном и программном уровнях – один из сложнейших этапов работы с любой операционной системой. В Windows XP предусмотрено несколько разных типов сетевых подключений, и каждый


Фальсификация меток времени

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Фальсификация меток времени Несколько неочевидной уязвимостью PGP является возможность злоумышленной подделки меток времени на цифровых подписях и сертификатах ключей. Вы можете пропустить этот раздел, если не интересуетесь деталями некоторых протоколов


Г.2. Информация о программном обеспечении GNU/Linux

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

Г.2. Информация о программном обеспечении GNU/Linux ? http://www.gnu.org. Это Web-узел проекта GNU Project. Здесь можно загрузить всевозможные бесплатно распространяемые программы. Среди них и GNU-библиотека языка С, содержащая многие из описанных в данной книге функций. Здесь же приведена


Описание меток

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

Описание меток Раздел описания меток начинается с зарезервированного слова label, после которого следует список меток, перечисляемых через запятую. В качестве меток могут быть использованы идентификаторы и положительные целые числа: a1,l2,777777;Метки используются для