On 21/03/2018 14:08, Martin Nowak wrote:
On Friday, 9 February 2018 at 20:34:33 UTC, Benjamin Thaut wrote:
My work on dll support for D continues. There is another iteration I need help testing with.

Getting started tutorial: http://stuff.benjamin-thaut.de/D/getting_started.html The DIP can again found be here: https://github.com/Ingrater/DIPs/blob/ReviveDIP45/DIPs/DIP45.md The DIP is not up to date. The tutorial is more recent. If the DIP and the tutorial contradict each other trust the tutorial. Its still useful to read the dip for context, especially as how to use "export" in code.

Glad to see some progress.
Given that the goal of DIP45 was seemless DLL support given just export annotations, the need for explicit -import module lists indeed requires an explanation. Looks like a classical dllexport/-import scheme now.

AFAICT -import was an idea proposed by Walter because he didn't like -useshared that is still in the DIP.

A previous version of the DLL support implemented -useshared and worked quite well in my tests. For simplicity I prefer -useshared although it might incur a minor performance penalty when adding an indirection to a library that is actually linked statically (not sure about the linker optimization you mentioned in the other response).

Reply via email to