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