On another question (Can I have a dynamic library required only when used by the code?) I have noticed that it is possible to load functions from a shared library only when required to. But how does the name get found? On disassembled objects I can see that the function names such as _ZN5Foo3barEv
so how does the program know how to find that? Also for overloaded functions they have slightly different names so how would you load 1 of those overloaded functions?
I have tried some basic research but I have not really found anything on this matter