含义

托管/非托管是微软的.net framework中特有的概念。

非托管代码:也叫本地(native)代码。

托管代码:是由公共语言运行库(CLR)执行的代码,而不是由操作系统直接执行。本地代码经过两次编译,第一次将源代码编译成中间代码(MSIL,MicrosoftIntermediate Language),第二次由.net中的CLR将中间代码编译成机器代码。程序实际上是被“托管”在公共语言运行库中。随着程序集的运行,公共语言运行库会持续地提供各种服 务,例如内存管理、安全管理、线程管理等等。和托管资源/非托管资源不同,不要弄混。

托管代码的优点

1.跨平台。有关内存管理(内存申请,内存释放,垃圾回收之类的)全部都是.net的CLR来管理

2.更加安全,不会出现诸如内存泄露之类的问题

托管代码的缺点

1.对程序的性能也产生一定的影响。CLR首次加载程序集代码时,JIT将IL编译成本地代码时,会对其进行代码优化,这类似与非托管C++编译器的后端所做的事情.这可能也会花费加多的时间生成优化代码。

2.不能直接读取内存,不够灵活

C#托管代码和非托管代码相关推荐

  1. 托管代码与非托管代码

    什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET   FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段 ...

  2. C# CLRInsideOut 托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具...

    CLRInsideOut  托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具 http://download.csdn.net/source/2914818 转载于 ...

  3. 托管代码和非托管代码

    一.什么是"托管代码"? 1.1.托管代码     托管代码是使用可在 .NET 上运行的一种高级语言(例如 C#.Visual Basic.F# 等)编写的. 使用相应的编译器编 ...

  4. C#基础知识之托管代码和非托管代码

    什么是托管代码(managed code) 托管代码(Managed Code)就是中间语言(IL)代码,在公共语言运行库(CLR)中运行.编译器把代码编译成中间语言,当方法被调用时,CLR把具体的方 ...

  5. 托管代码和非托管代码的区别

    什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: ...

  6. 托管代码与非托管代码之间与托管程序

    自.Net问世以后,我们习惯的VC++,VB编程模式有了很大的变换,托管与非托管的概念也不断映入程序员们的眼帘,可以说.NET正逐步成为编程的主流语言和平台之一.今天不与大家讨论谁主沉浮,也不发表慷慨 ...

  7. [转]托管代码与非托管代码

    什么是托管代码(managed code)? 托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET   FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是 ...

  8. .Net 托管代码和非托管代码的区别

    1.什么是托管代码(managed code)? 托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是 ...

  9. 托管代码与非托管代码之间的交互

    基础知识:如下所示: 1.在运行时控制下执行的代码叫做托管代码:在运行时之外执行的代码叫做非托管代码. 2.可以使用vs提供的dumpbin工具来获取动态链接库中提供的所有函数.如:dumpbin / ...

  10. 托管代码和非托管代码的介绍,以及在这区别下的混合调试方法

    什么是托管代码(managed code)? 托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托 ...

最新文章

  1. linux path环境变量检索目录,Linux下动态链接库加载路径及搜索路径问题
  2. BZOJ 2402 陶陶的难题II (树链剖分、线段树、凸包、分数规划)
  3. element-ui中el-table的表头、内容样式
  4. dubbo-go 中如何实现路由策略功能
  5. Spark Streaming之updateStateByKey和mapWithState比较
  6. Spring-context-AnnotationConfigUtils类
  7. 【感悟】此时此刻,新年快乐
  8. [论文摘录] Web Service QoS的几个研究方向
  9. 大数据分析的环节有哪些
  10. c++ 编程规范技巧
  11. Mysql安装包安装教程(亲测简单高效版)
  12. 进销存excel_Excel进销存管理系统!这6套不同风格的版本,财会可直接套用
  13. 2021年将最流行的10大JavaScript库
  14. Linux【操作系统】
  15. Spring cloud oauth2搭建OAuth2.0授权服务
  16. Bzoj4556: [Tjoi2016Heoi2016]字符串
  17. 你清楚搭建会员积分系统的目的吗?
  18. 八股文写春联会是什么样子?
  19. 什么是客户端与服务器端
  20. 英文科技论文写作与学术报告2021秋期末考答案|网课期末考答案|学堂在线|清华大学管晓宏教授

热门文章

  1. 一元交友源码对接码支付免费送
  2. 如何用 js 获取虚拟键盘高度?(适用所有平台)
  3. python图片转文字easyocr_OCR识别软件将图片转文字的具体方法
  4. 如何解决hbase中数据热点问题
  5. Postman(3): postman发送POST请求
  6. 力扣417 太平洋大西洋水流问题
  7. 百度_谷歌_雅虎搜索引擎URL参数全解析
  8. 音频术语中常见的“采样频率”对录音效果有什么影响
  9. Unity-3D相机跟随控制
  10. 计算机硬件系统由哪几部分组成