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

其实是知道这个东西,但是不知道专业术语居然叫这个,我以为是Azure云托管,好吧,开个玩笑

不止C#,java也是托管代码啊,重点,重点,重点!!!

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

直接同底层API打交道,自己管理自己的内存和安全机制等东西。而托管代码就不管这些,全都由Framework去完成

2.“程序”一般都是在对操作系统进行直接或者间接的操作
“托管程序”是需要通过访问公共语言运行时(cls)才能访问操作系统的程序
而“非托管程序”不用通过访问公共语言运行时(cls)可以直接访问操作系统的程序

3.vb.net,C#等写的程序是托管程序,VC++可以写托管程序,如果用到了内存管理,则只能编译为非托管程序这些东西MSDN都有描述

posted @ 2018-10-09 16:29  饮雪俊枫  阅读(414)  评论(1编辑  收藏  举报