DIP45: fixing the dllimport/dllexport issue

Rainer Schuetze r.sagitario at gmx.de
Sun Sep 1 08:26:40 PDT 2013



On 01.09.2013 11:49, Benjamin Thaut wrote:
> I updated the DIP with all discussed content. Feedback is welcome.
>
> http://wiki.dlang.org/DIP45
>
> Kind Regards
> Benjamin Thaut

LGTM.

What about the current use case of just exporting some functions for 
being loaded by a C application? It should still work using a def-file 
(which you have to use anyway most of the time due to 
http://d.puremagic.com/issues/show_bug.cgi?id=3956)

Maybe already deep into implementation but how are we going to deal with 
the initialization of data?

module sharedlib;
__gshared int var;

module exe;
import sharedlib;
__gshared int* pvar = &var;

(This kind of relocation also has to be done for stuff like 
TypeInfo_Class). It needs initialization code to fill pvar with the 
correct pointer.

Do we support the same for pointers in TLS?

int* tlsvar = &var;

This might need initialization per thread, or patching the original TLS 
segment.



More information about the Digitalmars-d mailing list