托管代码是由.NET Framework中的CLR(公共语言运行时)管理的代码。非托管代码是由操作系统直接执行的代码。以下是托管代码和非托管代码之间的一些重要区别:
Managed Code | Unmanaged Code |
---|---|
It is executed by managed runtime environment or managed by the CLR. | It is executed directly by the operating system. |
It provides security to the application written in .NET Framework. | It does not provide any security to the application. |
Memory buffer overflow does not occur. | Memory buffer overflow may occur. |
It provide runtime services like Garbage Collection, exception handling, etc. | It does not provide runtime services like Garbage Collection, exception handling, etc. |
The source code is complied in the intermideate language know as IL or MSIL or CIL. | The source code direclty compile into native langugae. |
It does not provide low-level access to the prgrammer. | It provide low-level access to the prgrammer. |