C#中提到的非托管的dll和托管的dll,两者有什么不同吗?
2个回答
展开全部
托管DLL,说白了,就是 完全由.NET托管代码实现的DLL,完全依赖于 .NET 平台的 CLR 运行。托管DLL,受.NET CLR管控,支持内存自动回收等的,对于.NET平台是安全DLL
非托管DLL,是指完全或者部分 不是用.NET代码实现,不依赖于.NET平台即可运行,例如 COM方式 的DLL,不支持自动回收内存,对于.NET平台而言,也是非安全可控的。
非托管DLL,是指完全或者部分 不是用.NET代码实现,不依赖于.NET平台即可运行,例如 COM方式 的DLL,不支持自动回收内存,对于.NET平台而言,也是非安全可控的。
更多追问追答
追问
是不是托管的就是用C#代码编写的,非托管的就是用C#以外的代码编写的?
追答
完全用.NET语言编写,例如:C#, VB.NET,F# 等的,都是托管的。
完全不用上面的语言,或者部分不用上面语言实现,都是非托管的。
托管代码中,使用了非托管的引用的,也变成非托管的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询