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

利用C#调用C++的DLL时,使用托管方法和非托管方法的区别有哪些,各有哪些优势?当一个C++的dll还要调用其他dll时,利用托管方法是否可行?

所谓托管代码,那就是由运行时自动处理内存的,如C#写的(非安全性的除外)都是托管代码。有垃圾回收机制来对内存进行管理。
你调用C++的,那这个一定是非托管代码,.net运行时无法对PINVOKE的代码进行内存管理。需要你自己对内存进行回收。
C++的dll还要调用其他dll时,这个也是非托管的。追问

就是看网上c#调用c++写的dll时,可以利用CLR封装一下,生成一个托管c++ dll。这种方法可用吗?

温馨提示:答案为网友推荐,仅供参考
相似回答