What is an un/managed DLL? What is un/managed code

2019-04-20 18:59发布

问题:

This question already has an answer here:

  • What is managed or unmanaged code in programming? 13 answers

Could someone please explain to me what an un/managed DLL is? And what is un/managed code?

回答1:

You will get a fair idea on managed and unmanaged code in following article -

http://www.developer.com/net/cplus/article.php/2197621/Managed-Unmanaged-Native-What-Kind-of-Code-Is-This.htm



回答2:

Short answer: Code compiled without .NET framework (plain old DLL).



回答3:

Unmanged code will be compiled to machine language to run directly on the hardware.

Managed code will be compiled to a virtual machine called CLR (Common Language Runtime), and compiled to machine language on start by the JIT (Just in time compiler). THE CLR can be compared to the java virtual machine, it is the same concept.



回答4:

When you code with .net you get some memory management, garbage collection etc, so it is called managed code. Older versions are unmanaged (for the memory is managed by the programmer)

And to keep things easy, calling from managed code to unmanaged code can be a trye pain.