What is MSIL

Answer Posted / mukesh pathak

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 ?    20 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What do you mean by deserialization?

543


What are all the differences between dispose and finalize()?

548


What are the technology areas that microsoft.net contains?

536


What is a preprocessor directive in vb.net?

532


What do you mean by Redim in VB.NET?

662






Explain the components of common language runtime.

511


What is difference between import system.data.sqlclient,system.data.oledb?

550


Explain strong name in .net assembly?

520


What is difference between metadata and manifest?

557


Explain cls?

579


Described strong typing and weak typing?

616


What are the different variables in vb.net?

514


How do you retrieve the customized properties of a .net application from xml .config file?

505


What is the difference between import system.data.sqlclient and system.data.oledb?

498


What is a static class?

584