Trass3r wrote:
I tried the simple(st) official dll example (which I fixed slightly to compile; using the dll_helper module etc)


What was the fix? The example in samples/d/mydll compiles fine and looks very much the same.

export void dllprint() { write("hello dll world\n"); }

The code is executed (I checked with a debugger) but nothing is printed in the console window.

In contrast to printf the std.stdio.write functions seem to buffer the output. When the DLL is unloaded, console output is already closed by the application.

Two possible solutions:
1. call stdout.flush() after writing
2. set std.c.stdio._fcloseallp = null; before terminating the exe, but expect scrumbled output from the DLL and the exe

Reply via email to