[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: plugin-support
Dennis Payne wrote:
> > It is possible to load classes from a shared object using dlopen() and
> > friends. The trick is that using "new" probably won't work.
>
> I doubt using "new" would work. The way I do it in Troll Bridge is to
> have a C function that registers a new function like you have. That way
> if the C++ name mangling changes your code isn't affected.
I used to have a function in an 'extern "C"' block so that the name
wouldn't be mangled, but I then decided that I wanted to keep the type
safety and scoping (a static method inside a class isn't scoped global),
so I put it in a static method and kept the mangling.
Both way works.
--
Pierre Phaneuf
Ludus Design, http://ludusdesign.com/
"First they ignore you. Then they laugh at you.
Then they fight you. Then you win." -- Gandhi