Я пытаюсь использовать GLFW и vulkan в Arch Linux.
Я заметил утечку памяти при вызове 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.
Есть ли способ избежать этой проблемы?