valgrind报告在2个块中丢失了160个字节。一个是32字节,另一个是128字节直接丢失。这是在带有Allegro 5.2.5的Ubuntu18.04上。您可以在下面看到它们:
据报道,内存被allegro泄露了,但可能什么都没有。我会调查的。你自己的代码没有问题,所以现在不要担心内存泄漏。
==23579== 32 bytes in 1 blocks are definitely lost in loss record 386 of 1,647
==23579== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23579== by 0x11B596A1: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0)
==23579== by 0x67DBA07: glXCreateWindow (in /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0)
==23579== by 0x4F49B18: _al_xglx_config_create_context (xglx_config.c:572)
==23579== by 0x4F4328F: xdpy_create_display_locked (xdisplay.c:464)
==23579== by 0x4F43A57: xdpy_create_display (xdisplay.c:614)
==23579== by 0x4EB5D1D: al_create_display (display.c:53)
==23579== by 0x108978: main (gtktest.c:17)
==23579== 1,960 (128 direct, 1,832 indirect) bytes in 1 blocks are definitely lost in loss record 1,626 of 1,647
==23579== at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==23579== by 0x11B7C93A: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0)
==23579== by 0x11B59171: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0)
==23579== by 0x11B5977C: ??? (in /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0)
==23579== by 0x67DBA07: glXCreateWindow (in /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0)
==23579== by 0x4F49B18: _al_xglx_config_create_context (xglx_config.c:572)
==23579== by 0x4F4328F: xdpy_create_display_locked (xdisplay.c:464)
==23579== by 0x4F43A57: xdpy_create_display (xdisplay.c:614)
==23579== by 0x4EB5D1D: al_create_display (display.c:53)
==23579== by 0x108978: main (gtktest.c:17)