digitalmars.D - A suggestion for the shared library implementation on Linux
- "tcak" <tcak pcak.com> Feb 03 2014
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.
Feb 03 2014