Could DRuntime be implemented as a shared library?

rikki cattermole via Digitalmars-d digitalmars-d at puremagic.com
Wed May 31 09:02:42 PDT 2017


On 31/05/2017 4:57 PM, solidstate1991 wrote:
> Offloading at least the GC could enable the implementation of a 
> per-application GC easier, as well as making development of shared 
> libraries under Windows much easier, might even enable the offloading of 
> Phobos into its own DLL.

Won't work, TypeInfo doesn't cross the shared library boundary atm. This 
is probably the real blocker for shared libs on Windows (includes Phobos 
as a DLL).

The GC can be swapped out already at runtime, just need shared libs to 
be working properly :)

> As an outsider, I think the biggest problem would be from the templates 
> (if any) used in the runtime library on the implementation side. On the 
> other hand we could just still implement those as a static library into 
> the executable files.
> 
> Versioning would be the hardest, we either release a new one with each 
> new implementation, or develop the runtime library more independently 
> from the compiler with clever versioning, however it might cause the 
> development of the DRuntime to be fragmented for supporting older and 
> newer versions.

We already do all this, on Linux (and I think OSX too) Phobos+druntime 
is built as a shared library by default.


More information about the Digitalmars-d mailing list