F*cked by memory corruption after assiging value to associative array
frame
frame86 at live.com
Fri Jan 29 10:07:01 UTC 2021
On Thursday, 28 January 2021 at 22:11:40 UTC, tsbockman wrote:
> Alternatively, you can design your APIs so that no pointer to
> GC memory is ever owned or mutated by any thread unknown to
> that GC. (This is the only option when working across language
> boundaries.)
Yes, thank you for your input - I was already thinking about that
as it shows the better design and also wouldn't require that the
DLL itself build-in much redundant code.
However, if I run GC.collect() after every DLL function was done
then it clearly shows which data goes away and bite me. Basically
most objects are allocated in the main EXE/DLL anyway - it only
comes in trouble where a new separate object is returned by the
sub DLL - GC.addRoot() really solves that problem.
More information about the Digitalmars-d-learn
mailing list