Shared libraries in dmd 2.063

Johannes Pfau nospam at example.com
Sat May 25 01:31:31 PDT 2013


What's the official status of shared libraries in dmd 2.063? Is it
already deemed stable or can there still be breaking changes for dmd
2.064?

I'm asking because I think we should change the default visibility of D
functions in shared libraries. We want to encourage platform
independent code so good code should use the 'export' attribute
anyway.

Making all symbols public by default and templates is a bad combination
for performance as it stresses the runtime linker. Look at that gcc
page, they managed to create a templated library that takes 6 minutes
to load because of this!

http://gcc.gnu.org/wiki/Visibility
http://software.intel.com/en-us/articles/software-convention-models-using-elf-visibility-attributes
http://www.technovelty.org/code/why-symbol-visibility-is-good.html


More information about the Digitalmars-d mailing list