托管代码是由 .NET Framework 中的 CLR(公共语言运行时)管理的代码。而非托管代码是由操作系统直接执行的代码。以下是托管代码和非托管代码之间的一些重要区别:
托管代码 | 非托管代码 |
---|---|
由托管运行时环境执行或由 CLR 管理。 | 由操作系统直接执行。 |
为用 .NET Framework 编写的应用程序提供安全性。 | 不为应用程序提供任何安全性。 |
不会发生内存缓冲区溢出。 | 可能会发生内存缓冲区溢出。 |
提供垃圾收集、异常处理等运行时服务。 | 不提供垃圾收集、异常处理等运行时服务。 |
源代码是用称为 IL 或 MSIL 或 CIL 的中间语言编译的。 | 源代码直接编译成本地语言。 |
不提供对程序员的低级访问。 | 提供对程序员的低级访问。 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。