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

Can you please explain the difference between namespace and assembly?

631


Is vb.net a programming language?

618


Which is the base class for all the classes in .net framework?

635


What are the features present in vb 2005?

650


Explain how to achieve polymorphism in vb.net?

624






How many ways the function can return values?

630


Explain nested classes?

628


What is the maximum size of the textbox?

610


Can you please explain the difference between value and reference types?

600


What is different between web.config and machine.config and where it will be ?

648


Explain the difference between c# and vb.net?

634


Explain the differences between vb.net and c#, related to oops concepts?

598


What is enumerator?

644


Explain internal keyword in .net framework?

638


What is late binding and early binding?

636