CIL: Difference between revisions

Jump to navigation Jump to search
1 byte removed ,  14 years ago
m
Corrected header type
[unchecked revision][unchecked revision]
No edit summary
m (Corrected header type)
Line 11:
Although pointers are not possible in safe code, CIL supports unsafe code which does have support for pointers. Unsafe code is contained in blocks of code which is marked 'unsafe', and in C# it uses the same syntax as C and C++. Objects can be ''pinned'' so that the [[garbage collector]] doesn't move the data around and pointers remain valid. Using unsafe code is perfectly legal, although discouraged in normal application programming, and may be used to write kernel-level methods.
 
==Executing CIL Code===
CIL code is executed by a [[Virtual Execution System]] much like Java byte code. Usually this is in the form of a [[Just In Time compiler]], which translates the byte code into a native machine code, usually utilizing optimizations specific to that processor (for example SSE if available). [http://www.mono-project.com Mono] is an open-source .NET project, which consists of an CIL JIT'er (and interpreter for unsupported architectures) as well as a C#->CLI compiler. The JIT'er and can be [http://www.mono-project.com/Embedding_Mono embedded] in to any program or stand alone. The basic JIT'er and compiler is written in C and only requires the C Standard Library to run.
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu