Вопрос

Кто-нибудь знает какие-нибудь хорошие ресурсы для обучения программированию CIL с подробным описанием команд и т. д.?Я осмотрелся, но не нашел ничего особенно хорошего.

Это было полезно?

Решение

Единственная книга CIL на моей полке — Экспертный ассемблер .NET 2.0 IL Серж Лидин.Что касается того, что делают или означают отдельные коды операций, документация Microsoft по System.Reflection.Emit содержит довольно хорошую информацию.И всегда полезно посмотреть на существующие IL с Отражатель.

Редактировать: CIL (да и CLR в целом) вообще не изменился между .NET 2.0 и .NET 3.5 — базовая среда выполнения в основном та же, с исправлениями по модулю и улучшениями производительности.Таким образом, на уровне CIL нет ничего более нового, чем то, что было бы в книге по версии 2.0.

Другие советы

Экспертный ассемблер .NET 2.0 IL потрясающе, потому что автор хорошо пишет и включает в себя каждую чертову деталь, которую вы только можете себе представить.Не помешает, что он написал ассемблер, дизассемблер и валидатор IL.Лучше всего вы можете купить его в формате PDF вместо мертвого дерева.

Мазохистам, интересующимся разработкой компиляторов, также понравится Компиляция для общеязыковой среды выполнения .NET Джон Гоф.Я нашел эту книгу чрезвычайно полезной во время проекта по разработке виртуальных машин, когда я «украл» множество идей из дизайна CLR.

Экспертный IL-ассемблер .NET 2.0 от Сержа Лидина

Была версия той же книги 1.1, но я не видел ничего о последней версии .NET.Это отличная книга.Я использовал его для написания компонента OCR в MSIL в качестве учебного проекта.

[Редактировать] @Курт прав, 3.0 и 3.5 - это просто расширения 2.0, я еще не подключил это к своей голове.Теперь я подумал о забавном компьютерном проекте...сравните дизассемблирование стандартного кода 2.0 с новым способом LINQ/Lambda для выполнения общих задач, таких как фильтрация списков.По какой-то причине я предположил, что волшебство происходит в новых функциях IL, а не только в компиляторе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top