GLFW与vulkan,如何摆脱内存泄漏?

时间:2019-02-04 00:20:01

标签: c++ memory-leaks valgrind glfw vulkan

我正在尝试在Arch Linux中使用GLFW和vulkan。

我注意到调用glfwGetRequiredInstanceExtensions时出现内存泄漏。要检测到所说的内存泄漏,我只需在程序中调用valgrind。

Valgrind报告:

==13943== LEAK SUMMARY:
==13943==    definitely lost: 48 bytes in 2 blocks
==13943==    indirectly lost: 48 bytes in 2 blocks
==13943==      possibly lost: 0 bytes in 0 blocks

我的代码是:

int main() {
    glfwInit();
    uint32_t glfwExtensionCount = 0;
    const char** glfwExtensions;
    glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
    glfwTerminate();

    return 0;
}

如果我将glfwGetRequiredExtensions注释掉,则valgrind报告没有泄漏。

此外,我不想尝试自己释放该内存,因为该函数的文档说:

  

指针寿命:   返回的数组由GLFW分配和释放。您不应该自己释放它。保证仅在终止库之前才有效。

我知道它只有48个字节,但是我更希望没有内存泄漏,即使是出于OCD的缘故。

有没有办法适当避免该问题?

0 个答案:

没有答案