The Boehm-Weiser garbage collection package, for C and C++ - garbage collection and memory leak detection libraries. A garbage collector is something which automatically frees malloc'd memory for you by working out what parts of memory your program no longer has pointers to. As a result, garbage collectors can also inform you of memory leaks (if they find memory they can free, it means you have lost all of your pointers to it, but you didn't free it). C programs should run without change. C++ programs must include a header to use garbage collection. See the man page and header files.