Câu hỏi phỏng vấn .NET Core
Câu hỏi

What is the difference b...

Câu trả lời

The terms Common Intermediate Language (CIL) and Microsoft Intermediate Language (MSIL) are often used interchangeably in the context of .NET development, but they do have subtle differences in their usage and scope.

Common Intermediate Language (CIL)

CIL is a low-level, platform-independent set of instructions that is generated by the compiler from the source code written in a .NET programming language such as C#, VB.NET, or F#. It is part of the Common Language Infrastructure (CLI) specification, which is an open standard developed by Microsoft and standardized by the European Computer Manufacturers Association (ECMA) and the International Organization for Standardization (ISO). CIL includes instructions for loading, storing, initializing, and calling methods on objects, as well as instructions for arithmetic and logical operations, control flow, direct memory access, exception handling, and other operations[3].

Microsoft Intermediate Language (MSIL)

MSIL is essentially the same as CIL but is specifically the implementation of CIL by Microsoft within the .NET Framework and .NET Core. When you compile a .NET application, the source code is converted into MSIL by the language-specific compiler. This MSIL code is then converted into native machine code by the Just-In-Time (JIT) compiler at runtime, allowing it to be executed on the target machine[1][2][5].

Key Points of Difference

  1. Terminology and Scope:

    • CIL: Refers to the intermediate language as defined by the CLI specification, which is an open standard.
    • MSIL: Refers to Microsoft's implementation of the CIL within the .NET ecosystem.
  2. Standardization:

    • CIL: Part of the ECMA and ISO standards for the CLI.
    • MSIL...
senior

senior

Gợi ý câu hỏi phỏng vấn

senior

When to use Transient vs Scoped vs Singleton DI service lifetimes?

senior

When using DI in Controller shall I call IDisposable on any injected service?

junior

What is the difference between decimal , float and double in .NET?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào