博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Net Framework 中托管代码与非托管代码的区别
阅读量:5370 次
发布时间:2019-06-15

本文共 548 字,大约阅读时间需要 1 分钟。

托管代码与非托管代码的区别

1 简单的说,就是代码被编译成MSIL后在.net的Framework下运行,同操作系统底层的交互都交给framework去做。

所谓非托管代码就是脱离了Framework的管制,直接同底层API打交道,自己管理自己的内存和安全机制等东西。而托管代码就不管这些,全都由Framework去完成
2 “程序”一般都是在对操作系统进行直接或者间接的操作

“托管程序”是需要通过访问公共语言运行时(cls)才能访问操作系统的程序  

而“非托管程序”不用通过访问公共语言运行时(cls)可以直接访问操作系统的程序  

3 vb.net,C#等写的程序是托管程序,VC++写托管程序,如果用到了内存管理,则只能编译为非托管程序这些东西MSDN上都写得很清楚的

4、托管代码是一种中间语言,运行在CLR上; 非托管代码被编译为机器码,运行在机器上。

5、托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容; 非托管代码依赖于平台和语言。

6、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;

     非托管代码需要自己提供安全检测、垃圾回收等操作。

转载于:https://www.cnblogs.com/gylhaut/p/5828063.html

你可能感兴趣的文章
JavaScript 技巧与高级特性
查看>>
Uva 11729 Commando War
查看>>
增强学习(一) ----- 基本概念
查看>>
ubuntu下USB连接Android手机
查看>>
C# 语句 分支语句 switch----case----.
查看>>
反射获取 obj类 的属性 与对应值
查看>>
表单中的readonly与disable的区别(zhuan)
查看>>
win10下安装配置mysql-8.0.13--实战可用
查看>>
周记2018.8.27~9.2
查看>>
MySQL中 1305-FUNCTION liangshanhero2.getdate does not exit 问题解决
查看>>
python序列化和json
查看>>
mongodb
查看>>
网格与无网格
查看>>
SSH-struts2的异常处理
查看>>
《30天自制操作系统》学习笔记--第14天
查看>>
LGPL协议的理解
查看>>
1、Python基础
查看>>
Unity The Tag Attribute Matching Rule
查看>>
试着理解下kvm
查看>>
WebService学习总结(二)--使用JDK开发WebService
查看>>