c++ win32 SysLink 内存泄漏

标签 c++ winapi memory-leaks

我在 native c++ win32 应用程序中遇到一些不寻常的内存泄漏。它有一个对话框,其中包含一些文本和一些 URL 链接,这些链接是使用 SysLink 控件制作的。问题是当我单击系统链接时(仅是第一次,与哪个链接无关)我的内存使用量增加了大约 400-500kb(整个应用程序使用 1.5MB)。打开网址的代码:

  ShellExecute(NULL, L"open", item.szUrl, NULL, NULL, SW_SHOW); 

谁能解释一下为什么 ShellExecute 会分配这么多内存,以及我如何在调用后释放它。

最佳答案

我不熟悉您正在使用的库,但如果它只发生一次并且仅在第一次调用时发生,那么很可能只是库正在加载它需要的一些资源。

通常直到进程结束才会释放内存。但是如果您担心内存使用,您可以自己加载库然后卸载它……再次不熟悉您的库,但可能还提供了一个清理功能来最大限度地减少内存使用。

关于c++ win32 SysLink 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8183932/

相关文章:

c++ - 编写平台特定代码的最佳(最干净)方式

c++ - 内存泄漏能走多远?

c++ - 学习 C++ 和 SDL- 以下是否会产生内存泄漏?

c++ - native API 窗口设计器

c++ - std::multiset::iterator = NULL 不再有效?

在运行时更改标签颜色

c++ - 检测按键按下和按键释放事件

java - 查找 jvm 8 中内存使用过多的原因

C++ char/string读取问题

c# - 检索辅助显示器 DPI 的正确方法是什么?