
On Tue, Jan 10, 2012 at 21:15, Artyom Beilis <artyomtnk@yahoo.com> wrote:
1. The boost::extension author reported (when i asked him) a lack in the C++11 standard (without precision) that makes it hard to implement correctly this library on all platforms/compilers (unfortunately he didn't say which ones). Do you have any information about that?
I don't exactly understand what is the problem.
Unfortunately I don't have the details of the problems he reported, but I sent a mail asking for details. Didn't get an answer yet. Anyway Boost.Extension is find with most cases it seems so I guess that he was speaking about runtime mixes.
You create an entry factory point like
extern "C" { foo* bar(); }
Resolve bar withing shared object/dll and it works 100%
That always was my understanding too.
As long as you don't mix runtimes i.e. dll and main program uses different heaps and so on there is no problems I'm aware of.
It might be the problem, as C++ standard don't define anything about all this, obviously. Anyway I like the simplicity of your solution, it seems easy to build on. Another minor question : what is the rational in choosing std::string in the interface instead of const char* ? Joël Lamotte.