我正在尝试在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的缘故。
有没有办法适当避免该问题?