SDL 開発者は Valgrind を使用していないように見えますが、私は基本的に、失われた 120 バイトしか気にしません。
これを念頭に置いて、私は Valgrind を介して「Hello world」プログラムを実行し、リークを検出しました。最も基本的な SDL_Init() および SDL_Quit() ステートメント以外はすべて削除しましたが、Valgrind は依然として 120 バイトの損失を報告し、 77k はまだ到達可能です。
そうですね、Valgrind では、特にこのような単純なプログラムでは、「まだ到達可能なメモリ」は実際にはメモリ リークではないことがよくあります。SDL_Quit() には基本的に割り当てがないので、"リーク" は SDL_Init() によって一度だけ割り当てられた構造体であることに間違いありません。
有用な作業を追加して、それらの量が増加するかどうかを確認してください。有用な作業 (SDL 構造の作成と破棄など) のループを作成してみて、反復の量に応じてリークの量が増加するかどうかを確認してください。後者の場合、リークのスタック トレースを確認して修正する必要があります。
それ以外の場合、これらの 77k リークは、「プログラムの終了時に解放する必要があるが、解放を OS に依存しているメモリ」としてカウントされます。
したがって、実際には、これらの 120 バイトが誤検知ではなく、通常は少ないかどうかについて、今はもっと心配しています。Valgrind での誤検知は、ほとんどの場合、初期化されていないメモリの使用が意図されている場合です (たとえば、実際にパディングされているため)。