День сто шестьдесят четвёртый. #ВопросыНаСобеседовании
Самые часто задаваемые вопросы на собеседовании по .NET
6. Что такое IL?
Common Intermediate Language (сокращённо CIL или IL) — промежуточный язык, разработанный Microsoft для платформы .NET Framework. Ранее язык назывался Microsoft Intermediate Language (MSIL), однако был переименован для создания стандарта ECMA-335.
IL - это набор независимых от процессора инструкций, которые генерируются компилятором языка при компиляции проекта. В частности, код IL генерируют все компиляторы .NET, входящие в Visual Studio (C#, Managed C++, Visual Basic .NET, Visual J# .NET). Код IL не является исполняемым, но далее обрабатывается средой CLR или другими средами выполнения в исполняемый код. Сборки приложения .NET написаны на IL.
Особенности:
Инструкции IL соответствуют коду, написанному на языке .NET и используемому для загрузки, хранения, инициализации и вызова методов на объектах, а также для арифметических и логических операций, управления потоком исполнения, прямого доступа к памяти, обработки исключений и других операции. JIT-компилятор в CLR преобразует код IL в машинный код, который затем исполняется операционной системой.
По синтаксису и мнемонике IL напоминает язык ассемблера. Его можно рассматривать как ассемблер виртуальной машины .NET. В то же время IL содержит некоторые достаточно высокоуровневые конструкции, повышающие его уровень по сравнению с ассемблером для любой реально существующей машины, и писать код непосредственно на IL легче, чем на ассемблере для реальных машин. Поэтому IL можно рассматривать как своеобразный «высокоуровневый ассемблер».
Выгоды:
1) Взаимодействие языков, так как код на любом языке .NET компилируется в IL.
2) Одинаковая производительность для всех языков .NET.
3) Поддержка различных сред выполнения.
Источники:
- https://ru.wikipedia.org/wiki/Common_Intermediate_Language
- http://www.dotnetfunda.com/interviews/show/3948/what-is-msil
Самые часто задаваемые вопросы на собеседовании по .NET
6. Что такое IL?
Common Intermediate Language (сокращённо CIL или IL) — промежуточный язык, разработанный Microsoft для платформы .NET Framework. Ранее язык назывался Microsoft Intermediate Language (MSIL), однако был переименован для создания стандарта ECMA-335.
IL - это набор независимых от процессора инструкций, которые генерируются компилятором языка при компиляции проекта. В частности, код IL генерируют все компиляторы .NET, входящие в Visual Studio (C#, Managed C++, Visual Basic .NET, Visual J# .NET). Код IL не является исполняемым, но далее обрабатывается средой CLR или другими средами выполнения в исполняемый код. Сборки приложения .NET написаны на IL.
Особенности:
Инструкции IL соответствуют коду, написанному на языке .NET и используемому для загрузки, хранения, инициализации и вызова методов на объектах, а также для арифметических и логических операций, управления потоком исполнения, прямого доступа к памяти, обработки исключений и других операции. JIT-компилятор в CLR преобразует код IL в машинный код, который затем исполняется операционной системой.
По синтаксису и мнемонике IL напоминает язык ассемблера. Его можно рассматривать как ассемблер виртуальной машины .NET. В то же время IL содержит некоторые достаточно высокоуровневые конструкции, повышающие его уровень по сравнению с ассемблером для любой реально существующей машины, и писать код непосредственно на IL легче, чем на ассемблере для реальных машин. Поэтому IL можно рассматривать как своеобразный «высокоуровневый ассемблер».
Выгоды:
1) Взаимодействие языков, так как код на любом языке .NET компилируется в IL.
2) Одинаковая производительность для всех языков .NET.
3) Поддержка различных сред выполнения.
Источники:
- https://ru.wikipedia.org/wiki/Common_Intermediate_Language
- http://www.dotnetfunda.com/interviews/show/3948/what-is-msil