You can use a programming interface to the dynamic linking mechanism to attach a dynamically linked library to the address space of your process during execution, look up the address of a function in the library, call that function, and then detach the library when it is no longer needed. See, for example, dlsym(S) for more information.