到底什么是托管代码 什么是非托管代码?

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:41:50
我看到书上这样说:
人们曾经将委托比做函数指针……从委托的意义来说,指针是指向方法的托管指针,该方法提供了委托的实现。因为这个指针是有CLR托管的,所以它是可靠的、类型安全和可检验的。这和相应的非托管方法不同。使用new关键字时,这个指针被传递给委托的构造函数。如果观察在创建委托的实例时生成的IL,则回看到指令ldftn,它向运行栈放置一个托管函数。所以现在的问题是,创建的委托类如何调用使用非托管指针的方法呢?…………
上面的文字是书上写的 来源于Microsoft Visual C#.NET 2003开发技巧大全
以前看了很多书 都没有注意到托管和非托管这个概念 现在看了这段文字很是迷惑 不知道这段话的意思是什么?查了一下网上的资料 说的是基于CLR的代码都是托管代码 不是基于CLR的代码就是非托管代码 又说C#编写的代码都是托管代码 那刚才文章的最后一句是什么意思?
希望达人解释一下具体的意思 举个例子最好!不胜感激!
一楼:但那本书上的源代码全是用C#写的 照你这么说 它最后一句话完全不针对它的代码啊?

托管的 指 .net平台运行 程序,

只有c++可以生成本地代码,也就是非托管的,其他的语言都不行。

这样理解就可以了,托管的就是.net framework平台程序,
因为程序的内存分配等操作都由 。net framework接管, 而不是由windows系统直接管理。