Abstract: This talk gives an overview over implementing full DLL support on Windows within in the DMD reference compiler. A short description over the inner workings of Windows DLLs is given. Furthermore, the problems and possible solutions with implementing the 'export' protection level, as described in the D language specification, are explained.
The talk draws from the experience of implementing a fully working version of DLLs using DMD targeting the Microsoft x64 c-runtime and linker. There are a few issues that need to be solved before a pull request can be done. These points include testing, stripping of unused symbols, better support for templates across DLL boundaries and more. All these points will be discussed during the talk.
Speaker Bio: Benjamin Thaut is 27 years old and has a masters degree in Computer Science and Media from the Media University in Stuttgart Germany. He has been working for his former employer Havok, one of the biggest middle ware companies in the games industry, for four years now. Now he's employed at Microsoft in the Windows and devices group. In his spare time Benjamin contributes to various Open Source projects. He contributed to "Mechwarrior Living Legends", a total conversion for Crysis, for 3 years and ended up as Lead Programmer of the team. Currently he is contributing to the ezEngine, an open source game engine and to the D programming reference compiler and runtime. His first contact with the D programming Language was 5 years ago. Ever since he is using D for personal projects and tries to advertise the language to others.