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

2025-03-10 10:16:21
推荐回答(1个)
回答1:

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