Modern C++ Lamentations
Rubn
where at is.this
Wed Jan 2 00:40:21 UTC 2019
On Tuesday, 1 January 2019 at 22:34:24 UTC, Jonathan M Davis
wrote:
> The version number is in the file name for Phobos' shared
> library, but if you're building the development version, that
> really doesn't help you, because every time you rebuild it, you
> get a file with the same name but potentially different
> contents (at least until the next release gets tagged, and the
> version number gets bumped). If you're only using releases, you
> don't have that problem. However, unless you keep older
> versions of the shared library around, as soon as you update,
> all of your D programs break, because the version they need
> isn't there anymore. All in all, it's just way simpler to use
> Phobos as a static library. Sure, when you have a bunch of D
> programs statically linked, it takes up a few extra megabytes
> that way, but when systems have terabytes, that doesn't really
> matter. Anyone who wants to use the shared library version is
> free to do so, but I really don't think that it makes sense in
> most cases. I do agree that shared library support in general
> is something that we should have, but that doesn't mean that it
> really makes sense as the default for the standard library -
> especially when so much of it is templated anyway.
Why wouldn't you keep older versions of phobos? Why are you
deleting the old ones when you install a new version of DMD. They
are designed in such a way to keep them there for this very
reason. I don't really understand your argument here, to me it
just seems DMD is just doing something backwards in comparison to
the rest of the platform (as usual).
But we aren't, there's no shared library of phobos for Windows
and the looks of it Mac OS. It's not about size, it's about easy
of use. The way the garbage collector works it might not be as
bad in comparison with the C runtime. Where allocating memory
from a shared library then unloading it would effectively free
all the memory that was allocated by that shared library. But at
the same time since allocating memory from the GC
> The whole nonsense where you have to rebuild your program,
> because _anything_ changed in the dll is just ridiculous IMHO.
What?! Where did you hear this non-sense from? I'm not surprised
at the state of shared library support on windows anymore.
Optlink and DMC are the greatest compilers and linkers on
Windows, they don't cause ANY problems AT ALL, they are very well
supported and shouldn't be removed. Sigh.
More information about the Digitalmars-d
mailing list