On Saturday, 6 January 2018 at 19:32:51 UTC, Benjamin Thaut wrote:
I'm currently back on dll support and I'm applying finishing
touches to my dll support PR. Now I want to know if I missed
any corner cases and it would be great if a few more people
gave the dll support a try.
-To try it out you will need to build dmd, druntime and phobos
yourself. I'm not going to provide a binary distribution.
-You will need to target the microsoft linker. E.g. either use
-m64 or -m32mscoff when compiling your programs.
-be warned, the state of the dll support is not final and
subject to change. There is no garantuee that there won't be
any breaking changes to dll support.
You can find a quick start guide here:
http://stuff.benjamin-thaut.de/D/getting_started.html
If you need more information and examples take a look here:
https://github.com/Ingrater/DIPs/blob/ReviveDIP45/DIPs/DIP45.md
Not all of phobos/druntime has correct export annotations yet
as this is not the goal of my initial pull request. If you use
a function from druntime/phobos that does not have a correct
export annotation you will get a linker error. I'm not
interrested in those. I'm interrested in cases where export is
correctly used and you will still get linker errors / incorrect
program behavior. So if you encounter a linker error first
check if the declaration has a export annotation or not. Try
adding it and see if the error goes away. If it does not go
away, report it here or send me an e-mail to code at
benjamin-thaut.de
If you find anything, small repro cases would be appreciated as
it makes my life a lot easier.
I would volunteer, but I don't know how much I can do in my exam
session. Maybe in February, until then not much.