What is MSIL?

Answer Posted / kirti

When compiling to managed code, the compiler translates your source code into Microsoft intermediate language (MSIL), which is a CPU-independent set of instructions that can be efficiently converted to native code. MSIL 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. Before code can be run, MSIL must be converted to CPU-specific code, usually by a just-in-time (JIT) compiler. Because the common language runtime supplies one or more JIT compilers for each computer architecture it supports, the same set of MSIL can be JIT-compiled and run on any supported architecture.

When a compiler produces MSIL, it also produces metadata. Metadata describes the types in your code, including the definition of each type, the signatures of each type's members, the members that your code references, and other data that the runtime uses at execution time. The MSIL and metadata are contained in a portable executable (PE) file that is based on and extends the published Microsoft PE and common object file format (COFF) used historically for executable content. This file format, which accommodates MSIL or native code as well as metadata, enables the operating system to recognize common language runtime images. The presence of metadata in the file along with the MSIL enables your code to describe itself, which means that there is no need for type libraries or Interface Definition Language (IDL). The runtime locates and extracts the metadata from the file as needed during execution.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Explain some of the major built-in objects in asp.net

619


What is the web.config file in asp?

651


When we use cookie less session? Explain its working?

573


What’s the difference between response .redirect and server.transfer?

529


What is difference in .net 1.1 and .net 2.0?

598






Is redux flux?

544


Why do we use asp.net?

593


Differentiate globalization and localization.

600


In which event are the controls fully loaded?

576


What is class and object in asp.net?

508


What is the use of placeholder control? Can we see it at runtime?

580


Explain significance of routing? : asp.net mvc

565


Define static constructor?

566


What is difference between URL and URI?

636


Explain server-side scripting?

586