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