background image

Source Files and Compilers

<< .NET Products and Services | Components of the .NET Platform >>
<< .NET Products and Services | Components of the .NET Platform >>

Source File


Compilers

Binaries
Just-in-Time Compilation

Runtime
The .NET Framework provides a run-time environment called the Common Language
Runtime, which manages the execution of code and provides services that make the
development process easier. Compilers and tools expose the runtime's functionality
and enable you to write code that benefits from this managed execution
environment. Code developed with a language compiler that targets the runtime is
called managed code.

To enable the runtime to provide services to managed code, language compilers
must emit metadata, which the runtime uses to locate and load classes, lay out
instances in memory, resolve method invocations, generate native code, enforce
security, and set run-time context boundaries.
The runtime automatically handles objects, releasing them when they are no longer
being used. Objects whose lifetimes are managed in this way are called managed
data. Automatic memory management eliminates memory leaks as well as many
other common programming errors.
The CLR makes it easy to design components and applications whose objects interact
across languages. For example, you can define a class and then use a different
language to derive a class from your original class, or call a method on the original
class. You can also pass an instance of a class to a method on a class written in a
different language. This cross-language integration is possible because of the
common type system defined by the runtime, and they follow the runtime's rules for
defining new types, as well as for creating, using, persisting, and binding to types.
Language compilers and tools expose the runtime's functionality in ways that are
intended to be useful and intuitive to their developers. This means that some
features of the runtime might be more noticeable in one environment than in
another. How you experience the runtime depends on which language compilers or
tools you use. The following benefits of the runtime might be particularly interesting
to you:
·
Performance improvements.
·
The ability to easily use components developed in other languages.
·
Extensible types provided by a class library.
·
A broad set of language features.

C++
C#
Visual Basic
JScript
Compiler
Compiler
Compiler
Compiler
Common Language Specification (CLI)
Common Language Runtime (CLR)