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