【发布时间】:2016-12-24 09:04:55
【问题描述】:
只是一个关于 WIN32 api 的简单问题。
我有一个使用 MySQL C API 连接到 MySQL 的函数,它检索指向结构的指针的链接列表。
因此,在对话回调中,我用这些元素填充ListView 控件,并将每个元素结构指针附加到ListView 中的一行。
问题是:我是否应该在从ListView 中删除所有项目后释放指针,例如当我单击刷新按钮时?
还是 WIN32 API 为我释放了它们?
【问题讨论】:
-
使用 WinAPI 调用,您负责清理附加到控件的资源。
-
谢谢你这么精确和清晰
-
想确认你真的用 C 而不是 C++ 做这个吗?这很难。在 C 语言中,您必须更加细致地管理内存。
-
是的,在 C 语言中,只是因为我遇到了段错误双重释放或损坏,我认为这是由于 winapi 已释放内存而我重新做了它
-
WIN32 API 无法释放您分配的结构,因为它不知道它是如何分配的。所以当然你必须自己释放它