package modules and how to generate a shared library plus .di file (I)

Adam D. Ruppe destructionator at gmail.com
Thu Dec 7 17:58:19 UTC 2017


On Thursday, 7 December 2017 at 17:53:25 UTC, kdevel wrote:
> Does that mean, that though the code is bundled in one library 
> (libmymod.a) for the prototypes one has as many .di files as 
> there
> were source files?

Unless those files were internal, yes. Public names in modules 
are... well, public. They are part of the interface, and that 
includes the module name (D uses module names for namespace 
disambiguation and it is part of the link mangle too).

You might want to look at the dmd2/src/druntime folder in the dmd 
zip. Contrast the import directory to the src directory.

You'll find all public modules are in both, but some internal 
implementations are in src only (and the compiled library) but 
not the import interface dir.


More information about the Digitalmars-d-learn mailing list