Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么一个简单的SDL程序会报告Valgrind中的内存泄漏?_C++_Memory Leaks_Sdl_Valgrind - Fatal编程技术网

C++ 为什么一个简单的SDL程序会报告Valgrind中的内存泄漏?

C++ 为什么一个简单的SDL程序会报告Valgrind中的内存泄漏?,c++,memory-leaks,sdl,valgrind,C++,Memory Leaks,Sdl,Valgrind,该计划: #include <iostream> #include <SDL2/SDL.h> /* * Lesson 0: Test to make sure SDL is setup properly */ int main(int argc, char** argv){ if (SDL_Init(SDL_INIT_EVERYTHING) != 0){ std::cout << "SDL_Init Error: " <&l

该计划:

#include <iostream>
#include <SDL2/SDL.h>

/*
 * Lesson 0: Test to make sure SDL is setup properly
 */
int main(int argc, char** argv){
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
    SDL_Quit();

    return 0;
}
这是我应该担心的事情吗?如果是,我如何知道代码中的误报和实际错误之间的区别


在您的特定情况下,我将使用标志运行valgrind
--leak check=full--track origins=yes--show reachable=yes
,查看泄漏是否真的来自SDL

==21646== HEAP SUMMARY:
==21646==     in use at exit: 108,320 bytes in 582 blocks
==21646==   total heap usage: 16,412 allocs, 15,830 frees, 106,043,200 bytes allocated
==21646== 
==21646== LEAK SUMMARY:
==21646==    definitely lost: 12,058 bytes in 4 blocks
==21646==    indirectly lost: 0 bytes in 0 blocks
==21646==      possibly lost: 0 bytes in 0 blocks
==21646==    still reachable: 96,262 bytes in 578 blocks
==21646==         suppressed: 0 bytes in 0 blocks