Jump to content

Common Language Runtime

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Smyth (talk | contribs) at 17:54, 2 August 2016 (Benefits: Improvements relative to what?). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Common Language Runtime (CLR), the virtual machine component of Microsoft's .NET framework, manages the execution of .NET programs. A process known as just-in-time compilation converts compiled code into machine instructions which the computer's CPU then executes.[1] The CLR provides additional services including memory management, type safety, exception handling, garbage collection, security and thread management. All programs written for the .NET framework, regardless of programming language, are executed by the CLR. All versions of the .NET framework include CLR.

CLR implements the Virtual Execution System (VES) as defined in the Common Language Infrastructure (CLI) standard, initially developed by Microsoft itself. A public standard defines the Common Language Infrastructure specification.[2]

The CLR converts CIL (Common Intermediate Language) to native code.
Overview of the Common Language Runtime release history[1]
CLR version .NET version
1.0 1.0
1.1 1.1
2.0 2.0, 3.0, 3.5
4 4, 4.5, 4.6

Benefits

The runtime provides the following features:

  • The ability to easily use components developed in other languages.
  • Extensible types provided by a class library.
  • Language features such as inheritance, interfaces, and overloading for object-oriented programming.
  • Support for explicit free threading that allows creation of multithreaded, scalable applications.
  • Support for structured exception handling.
  • Support for custom attributes.
  • Garbage collection.
  • Use of delegates instead of function pointers for increased type safety and security. For more information about delegates, see Common Type System.

See also

References

  1. ^ a b "Common Language Runtime (CLR)". MSDN Library. Retrieved 14 November 2013.
  2. ^ "ECMA C# and Common Language Infrastructure Standards". Visual Studio Developer Center. Retrieved 14 November 2013.