Difference between Managed and Unmanaged code in .NET
Difference between Managed and Unmanaged code in Tabular Form
- The Key Difference between Managed and Unmanaged code is that Managed Code is byte code executed by a virtual machine like the .NET CLR engine. While Unmanaged code is like the C++ code output as natural OS Hardware dependent binary code executed by the Hardware machine directly.
- In other words,
- Code that is managed by the CLR in the .net framework is known as Managed Code.
- Code that is directly executed by the OS is known as Unmanaged Code.
|Managed Code||Unmanaged code|
|Managed Code is executed by the CLR.||Unmanaged code is executed by the OS.|
|Memory buffer overflow does not occur in Managed Code.||Memory buffer overflow may occur in Unmanaged code.|
|Managed Code provides runtime services like garbage collection, exception handling, etc.||Unmanaged code does not provide runtime services like a garbage collector, exception handling, etc.|
|The source code is compiled into MSIL||The source code is compiled into native code|