if you use custom memory allocator to replace allegro's default allocator,plz be careful.
before use the method al_set_memory_interface(), allegro use default allocator to malloc/free.So you need al_set_memory_interface before allegro install.
Even if you do so, or have an opportunity to cause a memory leak. like this:
class String is a wrapper of allegro's string methods. Define a local variables in a cpp file.
this string's memory is malloc before the main(), use the default malloc. so you must use default free() to free it. that mean you need use al_set_memory_interface() again, after allegro uninstall, to replace your custom allocator with default.
so ,don't use al_init(), that method will automatic call al_uninstall_system after main().
you need do like this:
hope help you.;D