使用FindFile和文件句柄的c++内存泄漏

Memory leaks in C++ using FindFile and file handles

本文关键字:c++ 内存 泄漏 文件句柄 FindFile 使用      更新时间:2023-10-16

我正在写一个在windows上移动文件的应用程序,我有一些内存泄漏。我现在无法访问代码,但我知道我忘记关闭用于使用FindFirstFile和FindNextFile迭代文件的文件句柄。这是否会导致内存泄漏,或者我的代码是否有其他问题?我现在不能发布任何片段,但我想知道,如果这是我造成的问题。

内存泄漏只是资源泄漏的一种特殊情况。文件句柄也是资源。所以你肯定会泄漏各种资源。

顺便说一句,你如何检查内存泄漏?

你的问题不是写c++代码,而是C代码,然后用c++编译器编译。WINAPI不是c++。要在c++中实际使用RAII,必须将所有资源包装在实现RAII的类中,以便可以在c++代码中安全地使用它们,而不必担心资源泄漏。您还应该使用智能指针(std::unique_ptrstd::shared_ptr)来管理内存。