| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4051 人关注过本帖
标题:到底什么是托管代码 什么是非托管代码?
只看楼主 加入收藏
parklee
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-8
收藏
 问题点数:0 回复次数:2 
到底什么是托管代码 什么是非托管代码?
我看到书上这样说:
人们曾经将委托比做函数指针……从委托的意义来说,指针是指向方法的托管指针,该方法提供了委托的实现。因为这个指针是有CLR托管的,所以它是可靠的、类型安全和可检验的。这和相应的非托管方法不同。使用new关键字时,这个指针被传递给委托的构造函数。如果观察在创建委托的实例时生成的IL,则回看到指令ldftn,它向运行栈放置一个托管函数。所以现在的问题是,创建的委托类如何调用使用非托管指针的方法呢?…………
上面的文字是书上写的 来源于Microsoft Visual C#.NET 2003开发技巧大全
以前看了很多书 都没有注意到托管和非托管这个概念 现在看了这段文字很是迷惑 不知道这段话的意思是什么?查了一下网上的资料 说的是基于CLR的代码都是托管代码 不是基于CLR的代码就是非托管代码 又说C#编写的代码都是托管代码 那刚才文章的最后一句是什么意思?
希望达人解释一下具体的意思 举个例子最好!不胜感激!
搜索更多相关主题的帖子: 代码 托管 
2007-01-27 21:00
swc
Rank: 3Rank: 3
等 级:论坛游民
威 望:6
帖 子:394
专家分:83
注 册:2006-4-7
收藏
得分:0 
也不明白这段话什么意思,以前一直就把托管当做函数指针.
顶一下!

实践、学习、再实践、再学习......
2007-01-28 17:12
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 

托管代码是可以使用20多种支持Microsoft .NET Framework的高级语言编写的代码,它们包括:C#, J#, Microsoft Visual Basic .NET, Microsoft JScript .NET, 以及C++。所有的语言共享统一的类库集合,并能被编码成为中间语言(IL)。运行库编译器(runtime-aware ompiler)在托管执行环境下编译中间语言(IL)使之成为本地可执行的代码,并使用数组边界和索引检查,异常处理,垃圾回收等手段确保类型的安全。 非托管代码则反之。

在托管执行环境中使用托管代码及其编译,可以避免许多典型的导致安全黑洞和不稳定程序的编程错误。同样,许多不可靠的设计也自动的被增强了安全性,例如 类型安全检查,内存管理和释放无效对象。程序员可以花更多的精力关注程序的应用逻辑设计并可以减少代码的编写量。这就意味着更短的开发时间和更健壮的程序。


飘过~~
2007-01-28 21:39
快速回复:到底什么是托管代码 什么是非托管代码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011479 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved