
I developed a fairly simple prototype of a dll loader which mangles functions names automatically. But there are limitiations: you cannot call function which have template class parameters or return value, e.g. void test(std::string const &str) will not work. I do not get the mangling scheme used to decorate such a type, maybe someone knows a good source where I can look that up?! For class mangling I use the string returned by type_info::name(), but that seems very hacky. Microsoft Visual C++ does not always return correct strings (e.g. typeid(int &).name() returns "int").
Actually I think more compilers return "human readable" names from this that return mangled names - gcc is the only compiler I know of that does this. And of course nearly every C++ compiler uses it's own incompatible name mangling scheme as well... John.