Общий промежуточный язык
-
Определение и использование CIL
- CIL – это двоичный набор команд, определенный в спецификации CLI.
- Инструкции CIL выполняются в среде выполнения, такой как CLR.
- Языки, ориентированные на CLI, компилируются в CIL.
-
Стандартизация и безопасность
- CIL стандартизирован и теперь известен как CIL.
- Байт-код CIL проверяется на безопасность во время выполнения.
-
Процесс выполнения
- Исходный код преобразуется в байт-код CIL и затем выполняется через JIT-компилятор.
- Возможна предварительная компиляция для ускорения выполнения.
-
Объектно-ориентированные концепции
- CIL основан на стеке и поддерживает создание объектов и методы.
- Каждый метод должен находиться в определенном классе.
-
Метаданные и отражение
- CLI записывает метаданные о классах, что позволяет приложениям обнаруживать интерфейсы и методы.
- Отражение используется для чтения метаданных.
-
Примеры и генерация кода
- Приведена базовая программа “Hello, World!” на CIL.
- Сборка CIL генерируется компилятором или утилитой IL Assembler.
- CIL может быть декомпилирован в язык высокого уровня с помощью инструментов, таких как .NET Reflector.
-
Исполнение и оптимизация
- JIT-компиляция обеспечивает оптимизацию и безопасность типов.
- AOT (заблаговременная компиляция) ускоряет выполнение за счет удаления JIT-процесса.
-
Инструкции по указателю
- CIL включает команды для работы с указателями, что важно для компиляции C/C++ кода.
-
Дополнительные ресурсы
- Ссылки на LLVM, список инструкций CIL и другие ресурсы.