Crash on Windows with core.stdc.stdlib.free()

Chris via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Nov 12 08:03:08 PST 2014


On Wednesday, 12 November 2014 at 14:42:34 UTC, Chris wrote:
> On Wednesday, 12 November 2014 at 14:26:15 UTC, ketmar via
>> if you can extend C DLL, just add wrapper for `free()` there. 
>> so you
>> will not call `free()` from D, but call C DLL function which 
>> will free
>> the memory. it's a good practice anyway, 'cause it's 
>> recommended to
>> free memory in the same library where you allocated it.
>
> I initially had an implementation that did exactly that (I 
> usually do that), but for some reason it didn't work properly 
> in this particular case and caused all sorts of undefined 
> behavior. But I'll have a look at it again.

I've changed the code so that the memory is freed in C. Although 
it works "better" it crashes too every now and then

(WindowsError : exception : access violation writing 0x0310A1B4)

Will look into it.



More information about the Digitalmars-d-learn mailing list