Common Language Runtime: Difference between revisions
copyedit to bold CoreCLR, update language re .NET Core, and mention generic ".NET runtime" |
|||
(39 intermediate revisions by 27 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Virtual machine component of Microsoft's .NET framework}} |
|||
{{multiple| |
|||
{{third-party|date=March 2019}} |
|||
{{More citations needed|date=September 2014}} |
{{More citations needed|date=September 2014}} |
||
}} |
|||
{{Program execution}} |
{{Program execution}} |
||
⚫ | The '''Common Language Runtime''' ('''CLR'''), the [[virtual machine]] component of [[Microsoft]] [[.NET Framework]], manages the execution of .NET programs. [[Just-in-time compilation]] converts the [[managed code]] (compiled [[intermediate language]] code) into [[machine instructions]] which are then executed on the [[CPU]] of the computer.<ref name="msdn-clr">{{cite web| title = Common Language Runtime (CLR) | url = http://msdn.microsoft.com/en-us/library/8bs2ecf4 | access-date = 14 November 2013 | work = [[MSDN Library]]}}</ref> The CLR provides additional services including [[memory management]], [[type safety]], [[exception handling]], [[garbage collection (computer science)|garbage collection]], security and [[thread management]]. All programs written for the .NET Framework, regardless of [[programming language]], are executed in the CLR. All versions of the .NET Framework include CLR. The CLR team was started June 13, 1998. |
||
⚫ | 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.<ref>{{cite web | title = ECMA C# and Common Language Infrastructure Standards |
||
⚫ | The '''Common Language Runtime''' ('''CLR'''), the [[virtual machine]] component of [[Microsoft |
||
⚫ | |||
⚫ | |||
During the transition from legacy .NET technologies like the .NET Framework and its proprietary runtime to the community-developed [[.NET Core]], the CLR was dubbed '''CoreCLR'''.<ref>{{Cite web|title=Understanding .NET Framework, .NET Core, .NET Standard And Future .NET|url=https://www.c-sharpcorner.com/blogs/understanding-net-framework-net-core-and-net-standard-and-future-net|access-date=February 1, 2021|website=www.c-sharpcorner.com|language=en}}</ref> Today, it is simply called the '''.NET runtime'''.<ref>{{cite web|title= .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.|url=https://github.com/dotnet/runtime|access-date=November 5, 2023|website=GitHub}}</ref> |
|||
⚫ | |||
{{cite web | title = ECMA C# and Common Language Infrastructure Standards |
|||
⚫ | |||
⚫ | |||
</ref> |
|||
[[Image:CLR diag.svg|thumb|400px|right|The CLR converts CIL ([[Common Intermediate Language]]) to native code.]] |
|||
{|class="wikitable" |
{|class="wikitable" |
||
Line 27: | Line 28: | ||
|- |
|- |
||
|4 |
|4 |
||
|[[.NET Framework version history#.NET Framework 4|4]], [[.NET Framework version history#.NET Framework 4.5|4.5]], [[.NET Framework version history#.NET Framework 4.6|4.6]], [[.NET Framework version history#.NET Framework 4.7|4.7]] |
|[[.NET Framework version history#.NET Framework 4|4]], [[.NET Framework version history#.NET Framework 4.5|4.5]], [[.NET Framework version history#.NET Framework 4.6|4.6]], [[.NET Framework version history#.NET Framework 4.7|4.7]], [[.NET Framework version history#.NET Framework 4.8|4.8]] |
||
|} |
|} |
||
==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 [[Thread (computing)|threads]] that allows creation of multithreaded, scalable applications. |
|||
*Support for structured exception handling. |
|||
*Support for custom attributes. |
|||
*Garbage collection. |
|||
*memory management |
|||
*class loader |
|||
*change MSIL code change into native codes |
|||
*compiler |
|||
*Use of delegates instead of function pointers for increased type safety and security. For more information about delegates, see [[Common Type System]]. |
|||
==See also== |
==See also== |
||
Line 54: | Line 40: | ||
==External links== |
==External links== |
||
*[http://vb.net-informations.com/framework/functions_of_common_language_runtime.htm Functions of Common Language Runtime] |
|||
*[http://www.informit.com/articles/article.aspx?p=30601 Components of Common Language Runtime] |
*[http://www.informit.com/articles/article.aspx?p=30601 Components of Common Language Runtime] |
||
*[https://web.archive.org/web/20110425220519/http://www.visualbuilder.com/dotnet/tutorial/clr-%28common-language-runtime%29/ Components of CLR] |
*[https://web.archive.org/web/20110425220519/http://www.visualbuilder.com/dotnet/tutorial/clr-%28common-language-runtime%29/ Components of CLR] |
||
Line 60: | Line 45: | ||
*[http://msdn.microsoft.com/en-us/library/zw4w595w.aspx .NET Framework Conceptual Overview] |
*[http://msdn.microsoft.com/en-us/library/zw4w595w.aspx .NET Framework Conceptual Overview] |
||
⚫ | |||
{{Common Language Infrastructure}} |
{{Common Language Infrastructure}} |
||
Line 66: | Line 52: | ||
[[Category:.NET Framework terminology]] |
[[Category:.NET Framework terminology]] |
||
[[Category:Stack-based virtual machines]] |
[[Category:Stack-based virtual machines]] |
||
⚫ |
Latest revision as of 16:29, 5 November 2023
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Program execution |
---|
General concepts |
Types of code |
Compilation strategies |
Notable runtimes |
|
Notable compilers & toolchains |
|
The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instructions which are then executed on the CPU of the computer.[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 in the CLR. All versions of the .NET Framework include CLR. The CLR team was started June 13, 1998.
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]
During the transition from legacy .NET technologies like the .NET Framework and its proprietary runtime to the community-developed .NET Core, the CLR was dubbed CoreCLR.[3] Today, it is simply called the .NET runtime.[4]
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, 4.7, 4.8 |
See also
[edit]References
[edit]- ^ a b "Common Language Runtime (CLR)". MSDN Library. Retrieved 14 November 2013.
- ^ "ECMA C# and Common Language Infrastructure Standards". Visual Studio Developer Center. Retrieved 14 November 2013.
- ^ "Understanding .NET Framework, .NET Core, .NET Standard And Future .NET". www.c-sharpcorner.com. Retrieved February 1, 2021.
- ^ ".NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps". GitHub. Retrieved November 5, 2023.