我最近开始研究个人宠物项目的OpenGL,并且正在编写非常简单的测试程序。但是,即使我可以想到使用GLFW的最简单程序,我似乎也会获得内存泄漏:
#include <GLFW/glfw.h>
int main()
{
glfwInit();
glfwTerminate();
}
使用Valgrind,我收到消息:
肯定丢失:1个块中的72个字节
间接丢失:0块中的0字节
可能丢失:0块中的0字节
仍然可以到达:446个块中的122,741字节
如果我评论了glfwTerminate();
行,我会丢失相同数量的字节,但是还有几个字节"仍然可以接触"。(这对我来说有意义 - 我还没有终止GLFW,所以无论它分配的任何记忆仍然存在(。然后看来,内存泄漏在glfwInit()
中。这是GLFW中的错误,还是我在这个简单的程序中也做出了极大的错误?
(注意:每当称为glfwInit
时,一个72字节的内存泄漏似乎并不是一件大事;我只希望该号码为0 ...(
事实证明,这是GLFW中的一个错误。但是,它已经从3.2开始修复 - 报告此错误时我正在使用Glfw 3.1。