Blog post: using dynamic libraries in dub

Benjamin Thaut code at benjamin-thaut.de
Thu Dec 21 13:44:18 UTC 2017


On Thursday, 21 December 2017 at 13:30:32 UTC, David Nadlinger 
wrote:
> There would probably have to be some sort of compatibility flag 
> to avoid breaking all libraries on systems where symbols are 
> visible externally by default (Linux, ...).
>
>  — David

Agree, although this currently really is a bad default. Having 
all symbols visible by default can lead to really long shared 
library load times especially with template heavy code. I've seen 
reports of shared libaries using boost in c++ having load times 
of 60 seconds and above due to the number of visible symbols.

Ideally we should end up with visibility hidden being the default 
and only making symbols visible which use "export", because that 
is what it was designed for in the first place.


More information about the Digitalmars-d-announce mailing list