D Language Foundation Monthly Meeting Summary for December 2022

Richard (Rikki) Andrew Cattermole richard at cattermole.co.nz
Sat Jan 21 05:13:33 UTC 2023


A very big problem we have right now is that we are on pretty shaky 
foundations with how symbols are represented at the binary image level 
due to DLL's not be fully implemented in dmd.

Any work for things like incremental compilation must be done with the 
knowledge that the foundations right now are just not there to do this 
reliably cross platform.

I.e. is incredibly easy to run into: 
https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-warning-lnk4217?view=msvc-170

I believe we are going to have to modify export (and with that removing 
it as a visibility modifier) quite significantly.

In the C/C++ world you can use macros and compiler level defines to swap 
out DllImport and DllExport, or remove it all together. We can't do 
that. Which means we are going to need to make export a whole lot 
smarter if we don't want to run into these issues on Windows.


More information about the Digitalmars-d-announce mailing list