Утечка памяти в sdl2? - PullRequest
       6

Утечка памяти в sdl2?

0 голосов
/ 23 сентября 2018

У меня есть простая программа, которая создает окно только с помощью sdl2:

::SDL_Init(SDL_INIT_EVERYTHING);
auto window_ = ::SDL_CreateWindow("", 0, 0, 640, 480, ::SDL_WINDOW_OPENGL);

bool game_on = true;

while (game_on) {
  ::SDL_Event event;
  while (::SDL_PollEvent(&event)) {
    switch (event.type) {
    case SDL_QUIT:
      game_on = false;
      break;
    default:
      break;
    }
  }
}

::SDL_DestroyWindow(window_);
::SDL_Quit();

И если я скомпилирую и запусту это с address-sanitizer, у меня будет такой вывод:

==10545==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8192 byte(s) in 2 object(s) allocated from:
  #0 0x4e1838 in __interceptor_malloc (/home/andrej/Public/git/sdl_game/bin/sdl_game+0x4e1838)
  #1 0x7f3eb1a61faf  (<unknown module>)

SUMMARY: AddressSanitizer: 8192 byte(s) leaked in 2 allocation(s).

Как вы видите address-sanitizer обнаруженная утечка памяти.Но если я удалю последнюю строку (:: SDL_Quit ()), то это сообщение исчезнет.Почему?

...