P/调用C 功能后清理内存
Clean up memory after P/Invoke a C++ function
我的应用程序是一个C#程序,该程序使用P/Invoke上的C 功能。在调用C 函数之前,已加载库:
IntPtr hLib = LoadLibrary("CPPFunctions.DLL");
,在C 函数返回后,它是通过回调到我的C#应用程序的结果,库被清理了:
FreeLibrary(hLib);
在C 中使用的库是存储内存,但从未发布。这是因为库是一个仿真模型,通常在运行后终止过程。
这意味着如果函数重复调用,我将需要越来越多的内存。
有没有办法完全释放由C 分配的内存?
这不是您可以从外部做的事情。图书馆必须提供启用此设施的设施。该库的设计不佳,并且不可避免地泄漏,或者您未能调用其提供的清理功能。
无论哪种方式,都没有可以解决此问题的魔法销售功能。通过研究图书馆及其文档,可以找到前进的方向。您可能需要与其开发人员取得联系。
相关文章:
- 带内存和隔离功能的SQLite
- 如何使用 MPI 的远程内存访问 (RMA) 功能并行化数据聚合?
- C++功能泄漏内存,我是C++新手,不确定如何解决
- OPENCL-如何使辅助功能返回阵列并将内存的部分从恒定内存空间转移到私有
- 是否可以在内存中修改功能
- 如何停止功能中的内存泄漏
- 将参数传递给const在内存中的副本的功能
- 有没有办法获得功能大小并分配内存以复制和执行
- 列出当前过程并使用未记录的当前功能编写内存的软件技巧
- 模板功能以操纵内存
- c++ std map 的擦除功能是否释放了指针键的内存?
- 按模板类划分的自动内存池功能
- 代码ARP数组,指针和内存分配(Windows IP功能)的不可理解的部分
- P/调用C 功能后清理内存
- 跟踪每个功能的内存分配
- 功能中的内存泄漏,返回指针
- 调整数组大小功能不会更改内存位置
- 删除在另一个功能中分配的内存
- 通过功能提升共享内存中的C++结构
- C++ 在 Windows 上:获取分配内存的功能