Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Common Intermediate Language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==General information== During compilation of [[List of CLI languages|CLI programming languages]], the [[source code]] is translated into CIL code rather than into platform- or processor-specific [[object file|object code]]. CIL is a [[CPU]]- and platform-independent instruction set that can be executed in any environment supporting the Common Language Infrastructure, such as the [[Common Language Runtime|.NET runtime]] on [[Microsoft Windows|Windows]], or the [[cross-platform]] [[Mono (software)|Mono]] runtime. In theory, this eliminates the need to distribute different executable files for different platforms and CPU types. CIL code is verified for safety during runtime, providing better security and reliability than natively compiled executable files.<ref>{{cite book| url = https://books.google.com/books?id=VGT1_UJzjM0C&q=CIL+is+platform-independent&pg=PA15| title = Benefits of CIL| access-date = 2011-02-17| last1 = Troelsen| first1 = Andrew| date = 2009-05-02| publisher = Apress| isbn = 9781590598849}}</ref><ref>{{cite web|url=https://www.visualcplusdotnet.com/visualcplusdotnet1.html|title=Unmanaged, Managed Extensions for C++, Managed and .Net Framework|website=www.visualcplusdotnet.com|access-date=2020-07-07}}</ref> The execution process looks like this: #Source code is converted to CIL [[bytecode]] and a [[Assembly (CLI)|CLI assembly]] is created. #Upon execution of a CIL assembly, its code is passed through the runtime's [[Just-in-time compilation|JIT compiler]] to generate native code. Ahead-of-time compilation may also be used, which eliminates this step, but at the cost of executable-file portability. #The computer's processor executes the native code.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)