What is. Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT

Source: Internet
Author: User
Tags mscorlib

What is. NET?

Origin: Bill Gates in 2000 Professional Developers Conference introduced a brand-new platform called next Generation Windows Service, which is later. NET.


Software layer:. NET can be seen as a software layer between the operating system and the programming language, and it can support multiple programming languages, including c#,vb.net,c++,f#, and so on.


The framework used to generate managed code, the platform: the traditional way of compiling is "source code → compile → executable file", compiled in. NET is "source code → compilation → assembly → executable file". The compiled assembly contains IL code and metadata, which are then converted to machine code at run time.


By development to execution phase: development phase. NET provides a huge class library in the program execution phase. NET provides a CLR runtime environment to help us compile programs in real time, conduct security checks, perform garbage collection, manage memory, and more.

Specification:. NET contains many specifications, such as CIL,BCL, FCL, CTS, CLS, and so on.


What is IL?

Il,intermediage Language, the intermediate language, is not the local machine language that the CPU can directly execute, and a two compilation process called "Just in Time" before it can be converted to a computer-recognizable instruction. In the. NET framework, any language, such as c++,vb.net,c#, will be converted to an intermediate language after it has been compiled by its own compiler. Il also has 2 other names: Cil,common intermediate Language;msil, Microsoft intermediate Language.

To view the Il Code, refer to this: http://www.cnblogs.com/darrenji/p/3967669.html

What is a CLI?

Cli,common Language Infrastructure, Common Language Foundation,. NET's various specifications follow this standard.

What is BCL?

BCL, Basic Class Library,. NE provides us with a base class library.

Create a console project.

Hover your mouse over the console and press F12.

Discover that the console is a member of system and click System.

Discover that system is a member of mscorlib, click mscorlib.

Discovery Mscorlib is an assembly that is located in C:\Program Files (x86) \reference Assemblies\microsoft\framework\. Netframework\v4.5\mscorlib.dll

Which means that mscorlib contains. NET's base Class library.

Does the string type belong to the base class library?

Hover over the string keyword and press F12.

found that the string is actually a System.String type, originally. NET for us to map the keyword string and the CLI standard System.String.

And so on, Btye maps the System.Byte, short maps the system.int16, and so on.

Like string, byte, short, and so on, these are primitive types. Therefore, all the keywords of the language province and the type of the CLI are called primitive types.

What is an FCL?

FCL, Framework class library, frame libraries, more class libraries available, BCL is a subset of the FCL. For example, System.Web.MVC is provided under ASP. NET MVC.

What is CTS?

CTS, Common type System, public type systems. The CTS defines aspects that can be defined in a programming language, including: classes, structs, delegates, methods in classes, fields, properties, events, and so on, as well as some constraints, such as implicitly inheriting from the System.Object type of all types.

What is a CLS?

The CLS, Common Language specification, the common language specification, must fully conform to the CTS standard, which is a subset of the CTS. For example, C # Compile generated assembly has many classes, VB compiled generated assembly also has many classes, now VB compiled need to reference a C # assembly of a class, how to do?

We need to let the C # assembly, which needs to be referenced by this class, be CLS compliant. NET has prepared the CLSCompliant feature for us.

[Assembly:clscompliant (True)]
public class SomeClass
{    
}

What is the CLR?

CLR, Common Language Runtime, Common language runtime. Il code needs to be compiled on-the-fly by the CLR to convert to machine code. The general process is:

Programming language Code compilation generates an assembly. The Pe/coff header in the assembly contains information to be viewed and used by the Windows operating system; The CLR header tells the operating system that this is a. NET assembly, and the assembly manifest describes the information of the Assembly itself, such as the assembly identity, the resources that the assembly contains, the files that make up the assembly, and so on ; metadata describes what the assembly contains, such as the modules, types, type members, the visibility of type members, and so on.

The CLR begins to work: Manage application domains, load and run assemblies, security checks, JIT-compile IL code into machine code, exception handling, garbage collection, and so on.

Related articles:


How the CLR loads the assembly and the assembly version policy http://www.cnblogs.com/darrenji/p/4179916.html
See if the. NET Framework, the. NET Framework version number, and the CLR version number are installed http://www.cnblogs.com/darrenji/p/3977406.html
How the CLR is loaded and working http://www.cnblogs.com/darrenji/p/4159259.html

What is JIT?

JIT, just in time, compile instantly. In the CLR, the work of converting IL to machine code is given to the JIT compiler. Instant compilation occurs only when the method is first called.

What is. Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.