December 30, 2011 DLL with D (FreeLibrary problem) | ||||
---|---|---|---|---|
| ||||
Hello everybody. I'm trying to write a DLL in D. Everything is actually working fine, until I reach FreeLibrary, which terminates the test program (written in D) with code 0x1. DllMain is called correctly, and seems to run through. But I never reach the lines after the FreeLib call. DLL: http://pastie.org/private/edvmql0g768blgx81nh14g Def: http://pastie.org/private/lrmuzenou8clmjppqqj9gw Program: http://pastie.org/private/2yvvjymgq5u50mtgyqjr0a Output: http://pastie.org/private/kktyjs6hnbjohgwzwzqsjq When I write the same program in C++, to test the DLL, I have a similar problem, although the program doesn't crash. Nothing is printed, after FreeLib, but it's still waiting for the input at getch(). C++ Program: http://pastie.org/private/fehm1lgkxar87tantbgh0q I'm still new to DLLs, or rather system programming in general, and actually have near to no idea, what could be going wrong here. Exec |
December 30, 2011 Re: DLL with D (FreeLibrary problem) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Exec | It appears as if the following code in the detach case solves the problem:
> std.c.stdio._fcloseallp = null;
I'm not sure why though... why is the call such a problem, that even crashes the application, and doesn't it have any disadvantages, not to call it?
|
Copyright © 1999-2021 by the D Language Foundation