I've used dlopen()
, dlsym()
and friends in the past to load dynamic libraries manually at run-time - but that was in C. In C++ I would expect a somewhat higher-level-of-abstraction API, or at least - something which transparently takes care of name mangling for you, rather than only having to stick to extern "C"
freestanding functions.
Well, according to the C++ dlopen mini-howto, my expectations should be let down. Apparently it's just the POSIX API and nothing else. ... except that that document was last updated in 2006. That's the best I could find Googling.
So is that how things stand today still? In other words, have better/easier/nicer idiomatic ways of working with shared objects been devised over the past decade?
Note: I realize the C++ language standard doesn't quite address this (if at all), so I'm asking about what people use in practice.