This is my first post in this forum. So hopefully it is the right place for this topic.

Recently I saw this link http://dlang.org/dll-linux.html about writing shared library on Linux. The annoying part has become portability issues. Because my programme is linking to libphoos.so, target platform is asking for many different libraries.

When I look at the examples in that link, one thing is obvious that we mostly use C, C++, and D together. But the thing is that only D language has its own garbage-collector which is as far as I understand the source of the problem.

If a C or C++ programme wants to use a D-shared-library, well, only D is going to be using the garbage-collector.

If a D programme wants to use a D-shared-library, we want both sides to use the same garbage-collector to prevent problems.

Since the main programme is changing only, and the library is written in D language all the time, my suggestion is to add a function into library on runtime to tell the library to use a given garbage collector instance. Because C and C++ don't have that, library will continue using its own.

P.S. I do not have knowledge about internals of garbage-collector, this is just an idea.

Reply via email to