C#中通过dll文件调用C++写的释放内存的方法,但是不能完全释放。

2024年12月04日 18:52
有3个网友回答
网友(1):

再去理解一下托管的含义吧
无论如何,.NET下开发的软件的内存都是托管的,无法手动释放,实际上无论说得多么好,甚至微软的文档中也有手动释放的例子,但那都是一个前提:调用托管代码来释放.
其实还是托管环境来管理,你无法直接就操作到内存.

网友(2):

可以新建程序AppDomain 中去运行。
执行完毕后,可以彻底销毁另一个AppDomain。
这么做的原因是当前AppDomain 无法被销毁。

网友(3):

可以试试GC.Collect()强制释放.
如果不行,那就没啥办法了.我也头疼这个问题.
.NET会自动回收的,