Sei sulla pagina 1di 11

3/3/2017 Whatismanagedcode?

BradAbrams

http://msdn.microsoft.com/| Developer

What is managed code?


Rate this article



BradA https://blogs.msdn.microsoft.com/brada/author/brada/ January 9, 2004

18 https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comments
Share 0 0 0
Recently I have been working on pulling together some background information and I thought Id share it
here. I certainly dont claim any of this is news, but at least google will help me find it next time I need it

What is managed code?


Managed code is code that has its execution managed by the .NET Framework Common Language Runtime. It
refers to a contract of cooperation between natively executing code and the runtime. This contract specifies
that at any point of execution, the runtime may stop an executing CPU and retrieve information specific to the
current CPU instruction address. Information that must be queryable generally pertains to runtime state, such
as register or stack memory contents.

The necessary information is encoded in an Intermediate Language IL and associated metadata, or symbolic
information that describes all of the entry points and the constructs exposed in the IL e.g., methods,
properties and their characteristics. The Common Language Infrastructure CLI Standard which the CLR is the
primary commercial implementation describes how the information is to be encoded, and programming
languages that target the runtime emit the correct encoding. All a developer has to know is that any of the
languages that target the runtime produce managed code emitted as PE files that contain IL and metadata.
And there are many such languages to choose from, since there are nearly 20 different languages provided by
third parties everything from COBOL to Camel in addition to C#, J#, VB .Net, Jscript .Net, and C++ from
Microsoft.

Before the code is run, the IL is compiled into native executable code. And, since this compilation happens by
the managed execution environment or, more correctly, by a runtimeaware compiler that knows how to
target the managed execution environment, the managed execution environment can make guarantees
about what the code is going to do. It can insert traps and appropriate garbage collection hooks, exception
handling, type safety, array bounds and index checking, and so forth. For example, such a compiler makes sure
to lay out stack frames and everything just right so that the garbage collector can run in the background on a
separate thread, constantly walking the active call stack, finding all the roots, chasing down all the live objects.
In addition because the IL has a notion of type safety the execution engine will maintain the guarantee of type
safety eliminating a whole class of programming mistakes that often lead to security holes.

Contrastthistotheunmanagedworld:Unmanagedexecutablefilesarebasicallyabinaryimage,x86
code,loadedintomemory.TheprogramcountergetsputthereandthatsthelasttheOSknows.Thereare
protectionsinplacearoundmemorymanagementandportI/Oandsoforth,butthesystemdoesnt
actuallyknowwhattheapplicationisdoing.Therefore,itcantmakeanyguaranteesaboutwhathappens
whentheapplicationruns.
Tags CLR https://blogs.msdn.microsoft.com/brada/tag/clr/

Comments 18

Name *

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 1/11
3/3/2017 Whatismanagedcode?BradAbrams

Email *

Website

Post Comment

Michael Lockwood
April 10, 2004 at 10:58 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment18763
What an absolutely clear, concise, and to the point explanation! Excellent.

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=18763#respond

Jordan
April 16, 2004 at 10:58 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment19583
Nicely done.

Google did help me find it.

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=19583#respond

Juergen
April 28, 2004 at 12:58 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment20923
Great explanation, thanks!

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=20923#respond

Ravindranath
May 3, 2004 at 11:56 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment21393
Well done. Can this be compared to the JVM java Virtual machine ? In other words does the JVM run managed code?

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=21393#respond

Abhinav Gupta
July 20, 2004 at 9:51 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment26813
I wonder why MSDN dont have such a precise explanation, Excellent

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=26813#respond

Peter
July 21, 2004 at 1:09 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment26823
Great explanation not in my 1100 pages .NET book!

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=26823#respond

Mr Somewhere
July 29, 2004 at 6:51 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment27313
What is finally the advantage of such "code", the financial aspect "a part" ?

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=27313#respond

Fine Art Brad Abrams : What is managed code? (http://fineartz.info/bradabramswhatismanagedcode/)


September 27, 2007 at 5:53 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment76403
PingBack from http://fineartz.info/bradabramswhatismanagedcode/ http://fineartz.info/bradabramswhatismanagedcode/

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=76403#respond

Web 2.0 .NET vs. LAMP Part 3: Managed Code (http://blog.contextweb.com/contextual/web20netvslamppart2managedcode)


February 27, 2008 at 9:30 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment85383
PingBack from http://blog.contextweb.com/contextual/web20netvslamppart2managedcode
http://blog.contextweb.com/contextual/web20netvslamppart2managedcode

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=85383#respond

Channel 9 (http://beta.channel9.msdn.com/forums/Coffeehouse/3200CansomeoneexplainManagedCodeinlaymans
terms/#CommentID=3214)
June 1, 2008 at 1:53 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment91013
Oop, after writing the above I found this:

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=91013#respond

Manage What? « Brownie’s Blog (http://chiafong6799.wordpress.com/2006/04/20/managewhat/)


July 17, 2008 at 12:14 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment93103
PingBack from http://chiafong6799.wordpress.com/2006/04/20/managewhat/
http://chiafong6799.wordpress.com/2006/04/20/managewhat/

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=93103#respond

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 2/11
3/3/2017 Whatismanagedcode?BradAbrams
mihai (http://hpcconsulting.ro/csb/blogs/mihai/archive/2008/09/17/tutorialaspnetepisodul1.aspx)
September 16, 2008 at 3:26 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment95313
Resurse pentru acest articol Enun i aici resursele asociate acestui articol: http://www.hpcconsulting http://www.hpcconsulting

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=95313#respond

What is 'managed code'? | keyongtech (http://www.keyongtech.com/2294428whatismanagedcode)


January 21, 2009 at 9:33 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment100023
PingBack from http://www.keyongtech.com/2294428whatismanagedcode http://www.keyongtech.com/2294428whatis
managedcode

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=100023#respond

Bhavik’s blog » managed code vs unmanaged code… (http://www.bhavikcontractor.com/blog/?p=43)


February 6, 2009 at 1:38 pm https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment100513
PingBack from http://www.bhavikcontractor.com/blog/?p=43 http://www.bhavikcontractor.com/blog/?p=43

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=100513#respond

Tutorial ASP.NET episodul 1 (http://www.hpcconsulting.ro/blog/?p=46)


February 26, 2009 at 7:31 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment100943
PingBack from http://www.hpcconsulting.ro/blog/?p=46 http://www.hpcconsulting.ro/blog/?p=46

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=100943#respond

What Is Managed Code and Unmanaged Code? (http://www.davidtan.org/whatismanagedcodeandunmanagedcode/)


March 12, 2009 at 7:47 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment101553
PingBack from http://www.davidtan.org/whatismanagedcodeandunmanagedcode/ http://www.davidtan.org/whatismanaged
codeandunmanagedcode/

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=101553#respond

Troubleshooting application crash issues with Application Verifier Tool (http://www.ditii.com/2009/05/23/troubleshootingapplication


crashissueswithapplicationverifiertool/)
May 23, 2009 at 6:15 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment105013
PingBack from http://www.ditii.com/2009/05/23/troubleshootingapplicationcrashissueswithapplicationverifiertool/
http://www.ditii.com/2009/05/23/troubleshootingapplicationcrashissueswithapplicationverifiertool/

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=105013#respond

Brad Abrams What is managed code | basketball hoop (http://thebasketballhoop.info/story.php?id=2687)


June 18, 2009 at 2:35 am https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/#comment110573
PingBack from http://thebasketballhoop.info/story.php?id=2687 http://thebasketballhoop.info/story.php?id=2687

Reply https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/?replytocom=110573#respond

Follow Us

https://blogs.msdn.microsoft.com/brada/feed/

Popular Tags
CLR https://blogs.msdn.microsoft.com/brada/tag/clr/

Framework Design Guidelines https://blogs.msdn.microsoft.com/brada/tag/frameworkdesignguidelines/

Silverlight https://blogs.msdn.microsoft.com/brada/tag/silverlight/

.NET Framework https://blogs.msdn.microsoft.com/brada/tag/netframework/

Random https://blogs.msdn.microsoft.com/brada/tag/random/ ASP.NET https://blogs.msdn.microsoft.com/brada/tag/aspnet/

BCL https://blogs.msdn.microsoft.com/brada/tag/bcl/ AJAX https://blogs.msdn.microsoft.com/brada/tag/ajax/

RIAServices https://blogs.msdn.microsoft.com/brada/tag/riaservices/ PDC https://blogs.msdn.microsoft.com/brada/tag/pdc/

.NETFx3.0 https://blogs.msdn.microsoft.com/brada/tag/netfx30/ SLAR https://blogs.msdn.microsoft.com/brada/tag/slar/

Atlas https://blogs.msdn.microsoft.com/brada/tag/atlas/ Blogging https://blogs.msdn.microsoft.com/brada/tag/blogging/

New Guideline https://blogs.msdn.microsoft.com/brada/tag/newguideline/

WinForms https://blogs.msdn.microsoft.com/brada/tag/winforms/ WPF https://blogs.msdn.microsoft.com/brada/tag/wpf/

Program Manager https://blogs.msdn.microsoft.com/brada/tag/programmanager/

Mix07 https://blogs.msdn.microsoft.com/brada/tag/mix07/ Mix08 https://blogs.msdn.microsoft.com/brada/tag/mix08/

Archives
https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 3/11
3/3/2017 Whatismanagedcode?BradAbrams
Archives
April 2010 https://blogs.msdn.microsoft.com/brada/2010/04/2
March 2010 https://blogs.msdn.microsoft.com/brada/2010/03/16
February 2010 https://blogs.msdn.microsoft.com/brada/2010/02/1
All of 2010 https://blogs.msdn.microsoft.com/brada/2010/20
All of 2009 https://blogs.msdn.microsoft.com/brada/2009/108
All of 2008 https://blogs.msdn.microsoft.com/brada/2008/135
All of 2007 https://blogs.msdn.microsoft.com/brada/2007/171
All of 2006 https://blogs.msdn.microsoft.com/brada/2006/137
All of 2005 https://blogs.msdn.microsoft.com/brada/2005/244
All of 2004 https://blogs.msdn.microsoft.com/brada/2004/295
All of 2003 https://blogs.msdn.microsoft.com/brada/2003/233

Privacy & Cookies https://msdn.microsoft.com/dn529288 Terms of Use https://msdn.microsoft.com/cc300389


Trademarks https://www.microsoft.com/enus/legal/intellectualproperty/Trademarks/ENUS.aspx
https://www.microsoft.com
2017 Microsoft

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 4/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 5/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 6/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 7/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 8/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 9/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 10/11
3/3/2017 Whatismanagedcode?BradAbrams

https://blogs.msdn.microsoft.com/brada/2004/01/09/whatismanagedcode/ 11/11

Potrebbero piacerti anche