Why not export a struct with function pointers like everyone else? You should take a look at how VST plugins are implemented.<p>You load the dlo, call a function passing in your own struct of application functions and get back a struct of plugin functions. No weird naming conventions needed, easily version-able. Tried and true.
On a related note: Be wary of the dlclose() function, it may not necessarily free any resources[1] and not every libc implements it correctly[2].<p>1. <a href="http://www.openwall.com/lists/musl/2012/08/20/1" rel="nofollow">http://www.openwall.com/lists/musl/2012/08/20/1</a>
2. <a href="http://www.openwall.com/lists/musl/2012/08/23/20" rel="nofollow">http://www.openwall.com/lists/musl/2012/08/23/20</a>
Here's the link to the intro article, all in Python3.<p><a href="http://eli.thegreenplace.net/2012/08/07/fundamental-concepts-of-plugin-infrastructures/" rel="nofollow">http://eli.thegreenplace.net/2012/08/07/fundamental-concepts...</a>