如何释放dll方法所占用的内存

本文关键字:内存 方法 dll 何释放 释放 | 更新日期: 2023-09-27 17:51:01

我有一个dll Native方法从我的。net c#代码调用。每次调用该方法时,它都会占用Windows内存空间。在某个时间点,我的代码由于内存不足而失败。如何释放Windows内存空间?

如何释放dll方法所占用的内存

本机方法应该允许您访问释放它分配的内存的方法,或者它应该告诉您如何分配内存以及如何释放内存。

一般来说,如果一个方法返回一个指针(或者一个string,或者一个句柄!它们都是指针),你应该首先问自己我将如何释放这些内存?如果你不问自己这个问题,你可能正在产生内存泄漏。

然后,您应该注意由库构建的包含字符串或指向其他对象的指针的可疑结构("对象"),并确保. net编组器能够在必要时释放内存。

一般来说,处理调用的内存是很复杂的!这需要非常小心,甚至因为编组程序可能会向您隐藏某些内容。

参见https://stackoverflow.com/a/18172997/613130和https://stackoverflow.com/a/29508809/613130

那么总是有可能内存泄漏是由DLL端错误代码引起的,然后什么也做不了,除了纠正DLL代码中的错误/联系编写它的人