C#调用C++的DLL时,使用非托管和托管的区别?

利用C#调用C++的DLL时,使用托管方法和非托管方法的区别有哪些,各有哪些优势?当一个C++的dll还要调用其他dll时,利用托管方法是否可行?... 利用C#调用C++的DLL时,使用托管方法和非托管方法的区别有哪些,各有哪些优势?当一个C++的dll还要调用其他dll时,利用托管方法是否可行? 展开
 我来答
greystar_cn
2015-12-09 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
所谓托管代码,那就是由运行时自动处理内存的,如C#写的(非安全性的除外)都是托管代码。有垃圾回收机制来对内存进行管理。
你调用C++的,那这个一定是非托管代码,.net运行时无法对PINVOKE的代码进行内存管理。需要你自己对内存进行回收。
C++的dll还要调用其他dll时,这个也是非托管的。
追问
就是看网上c#调用c++写的dll时,可以利用CLR封装一下,生成一个托管c++ dll。这种方法可用吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式