GLFW с вулканами, как избавиться от утечки памяти? - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь использовать 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.

Есть ли способ избежать этой проблемы?

...