c++ - GLFW 中的内存泄漏

标签 c++ memory-leaks glfw

我最近开始研究 OpenGL 用于个人宠物项目,并且正在编写非常简单的测试程序。然而,即使是我能想到的使用 GLFW 的最简单的程序,我似乎也会发生内存泄漏:

#include <GLFW/glfw.h>
int main()
{
  glfwInit();
  glfwTerminate();
}

使用 valgrind,我收到消息:

definitely lost: 72 bytes in 1 blocks

indirectly lost: 0 bytes in 0 blocks

possibly lost: 0 bytes in 0 blocks

still reachable: 122,741 bytes in 446 blocks

如果我注释掉 glfwTerminate(); 行,我会丢失相同数量的字节,但还有几个“仍然可以访问”的字节(这对我来说很有意义 - 我没有't 终止了 GLFW,所以它分配的任何内存仍然存在)。然后,内存泄漏出现在 glfwInit() 中。这是 GLFW 中的错误,还是我在这个简单的程序中做错了什么?

(注意:每当调用 glfwInit 时发生 72 字节内存泄漏似乎不是什么大问题;我只是希望该数字为 0...)

最佳答案

原来是GLFW的一个bug。 It's been fixed as of 3.2, though - 报告此错误时我使用的是 GLFW 3.1。

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

相关文章:

c++ - 如何保证接受无限数量参数的函数的类型安全?

c++ - 开源 FIX 客户端模拟器

c++ - 为什么linux上一个动态链接的可执行文件在自己的内存空间里有libc的完整内存空间?

c++ - 在多个函数中使用全局 glfw 窗口

c++ - 递归函数的内联

c - dlopen/dlsym/dlclose(dlfcn.h)导致内存泄漏

iphone - 我的应用程序崩溃了,但除了数据格式化程序暂时不可用的行之外没有显示任何内容,我现在应该做什么?

haskell - Control.Lens.Plated 和 Bound 交互中的空间泄漏/Bug

c - 强制软件实现 opengl 3.x

java - 使用 lwjgl 让背景闪烁