The Common Language Runtime (CLR) is a core component of Microsoft's .NET initiative. It is Microsoft's implementation of the Common Language Infrastructure (CLI) standard, which defines an execution environment for program code. In the CLR, code is expressed in a form of bytecode called the Common Intermediate Language (CIL, previously known as MSIL—Microsoft Intermediate Language).
Developers using the CLR write code in a language such as C# or VB.NET. At compile time, a .NET compiler converts such code into CIL code. At runtime, the CLR's just-in-time compiler converts the CIL code into code native to the operating system. Alternatively, the CIL code can be compiled to native code in a separate step prior to runtime by using the Native Image Generator (NGEN). This speeds up all later runs of the software as the CIL-to-native compilation is no longer necessary.
Although some other implementations of the Common Language Infrastructure run on non-Windows operating systems, Microsoft's implementation runs only on Microsoft Windows operating systems.
The CLR allows programmers to ignore many details of the specific CPU that will execute the program. It also provides other important services, including the following:
- Dynamic Language Runtime, built on top of the CLR
- Common Language Runtime Overview (Microsoft MSDN)
- How to Common Language Runtime
- "Standard ECMA-335, Common Language Infrastructure (CLI)". Ecma Standards. ECMA International. http://www.ecma-international.org/publications/standards/Ecma-335.htm. Retrieved January 1, 2010.
es:Common Language Runtime eu:CLR fr:Common Language Runtime ko:공통 언어 런타임 id:Common Language Runtimehu:Common Language Runtime nl:Common Language Runtime ja:共通言語ランタイムpt:Common Language Runtimesv:Common Language Runtime th:Common Language Runtime uk:Common Language Runtime zh:通用語言運行庫