Common Intermediate Language

Common Intermediate Language

Common Intermediate Language (сокращённо CIL) — промежуточный язык, разработанный фирмой Microsoft для платформы .NET Framework. JIT-компилятор CIL является частью так называемой CLR (англ. Common Language Runtime) — общей среды выполнения языков .NET. Ранее язык назывался Microsoft Intermediate Language, однако был переименован для создания стандарта ECMA-335.

В код на языке CIL должны переводить код на языках высокого уровня все компиляторы, обеспечивающие поддержку платформы .NET. Код на CIL генерируют, в частности, все компиляторы для платформы .NET самой фирмы Майкрософт, входящие в среду разработки Visual Studio (C#, Managed C++, Visual Basic .NET, Visual J# .NET).

Язык CIL по синтаксису и мнемонике напоминает язык ассемблера. Его можно рассматривать как ассемблер виртуальной машины .NET. В то же время язык CIL содержит некоторые достаточно высокоуровневые конструкции, повышающие его уровень по сравнению с ассемблером для любой реально существующей машины, и писать код непосредственно на CIL легче, чем на ассемблере для реальных машин. Поэтому его можно рассматривать как своеобразный «высокоуровневый ассемблер».

Язык CIL также нередко называют просто IL (англ. Intermediate Language), то есть просто «промежуточный язык».

Синтаксис и мнемоника языка CIL описываются стандартом ECMA-335. Спецификация CIL является составной частью более общей спецификации Common Language Infrastructure (CLI).

Пример кода

Пример программы Hello, World, написанной на CIL. Она выводит строку «Hello, world!».

.assembly Hello {}
.method public static void Main() cil managed
{
     .entrypoint
     .maxstack 1
     ldstr "Hello, world!"
     call void [mscorlib]System.Console::WriteLine(string)
     ret
}

Это ещё одна программа (на C#),

static void Main(string[] args)
{
outer:
    for (int i = 2; i < 1000; i++)
    {
         for (int j = 2; j < i; j++)
         {
              if (i % j == 0)
                   goto outer;
         }
         Console.WriteLine(i);
     }
}

которая на CIL выглядит так:

.method private hidebysig static void  Main(string[] args) cil managed
{
  .entrypoint
  .maxstack  2
  .locals init ([0] int32 i,
           [1] int32 j)
  IL_0000:  ldc.i4.2
            stloc.0
            br.s       IL_001f
  IL_0004:  ldc.i4.2
            stloc.1
            br.s       IL_0011
  IL_0008:  ldloc.0
            ldloc.1
            rem
            brfalse.s  IL_0000
            ldloc.1
            ldc.i4.1
            add
            stloc.1
  IL_0011:  ldloc.1
            ldloc.0
            blt.s      IL_0008
            ldloc.0
            call       void [mscorlib]System.Console::WriteLine(int32)
            ldloc.0
            ldc.i4.1
            add
            stloc.0
  IL_001f:  ldloc.0
            ldc.i4     0x3e8
            blt.s      IL_0004
            ret
}




Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Common Intermediate Language" в других словарях:

  • Common Intermediate Language — (CIL, pronunciado sil o kil ) (anteriormente llamado Microsoft Intermediate Language o MSIL) es el lenguaje de programación legible por humanos de más bajo nivel en el Common Language Infrastructure y en el .NET Framework. Los lenguajes del .NET… …   Wikipedia Español

  • Common Intermediate Language — (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist vollständig stackbasiert. Auf dem… …   Deutsch Wikipedia

  • Common Intermediate Language — For the counterpart to compiled assembly in the Microsoft .NET framework, see .NET assembly. Common Intermediate Language (CIL, pronounced either sil or kil ) (formerly called Microsoft Intermediate Language or MSIL) is the lowest level human… …   Wikipedia

  • Common Intermediate Language — Dans l environnement de programmation Microsoft, le Common Intermediate Language (CIL) est le langage de programmation de plus bas niveau qui peut être lu par un humain. Le code de plus haut niveau dans l environnement .NET Framework est compilé… …   Wikipédia en Français

  • Intermediate language — Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist… …   Deutsch Wikipedia

  • Intermediate language — In computer science, an intermediate language is the language of an abstract machine designed to aid in the analysis of computer programs. The term comes from their use in compilers, where a compiler first translates the source code of a program… …   Wikipedia

  • Microsoft Intermediate Language — Common Intermediate Language (CIL) (teilweise auch nur Intermediate Language (IL)) ist eine Zwischensprache, in die alle Programme der Common Language Infrastructure übersetzt werden. CIL ist eine objektorientierte Assemblersprache und ist… …   Deutsch Wikipedia

  • Microsoft Intermediate Language — Microsoft Intermediate Language, сокращенно MSIL промежуточный язык, разработанный фирмой Microsoft для платформы .NET Framework. JIT компилятор MSIL является частью так называемой CLR (англ. Common Language Runtime) общей среды выполнения языков …   Википедия

  • C Intermediate Language — This article is about the simplified subset of C. For the Common Intermediate Language (also known as MSIL), see CIL. CIL (C Intermediate Language) is a simplified subset of the C programming language, as well as a set of tools for transforming C …   Wikipedia

  • Common Language Runtime — El Common Language Runtime o CLR ( entorno en tiempo de ejecución de lenguaje común ) es un entorno de ejecución para los códigos de los programas que corren sobre la plataforma Microsoft .NET. El CLR es el encargado de compilar una forma de… …   Wikipedia Español


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»