Derelict SFML destructor crashes
Mike Parker
aldacron at gmail.com
Mon Dec 17 17:24:42 PST 2012
On Monday, 17 December 2012 at 22:08:08 UTC, Jeremy DeHaan wrote:
>> It's not the only way, but it's the easiest way.
>
> What are some other ways? I am just curious.
You could use module destructors to cleanup at program exit and
use RAII via struct destructors for short-lived objects.
>
>
> Also, if we were able to know the size of the object the
> pointer is referring to, couldn't we then add it to the GC? It
> sounds like a pretty complicated way, but wouldn't that be a
> good way if it were possible?
No, that's a bad idea. What if the C library you are using
maintains some sort of internal bookkeeping related to the
pointer? What if it keeps a copy of the pointer internally? If
the GC collects your D-side pointer, how is the C library
supposed to know it's time to cleanup everything associated with
that pointer?
More information about the Digitalmars-d-learn
mailing list