delete a dynamic array
Michal Minich
michal.minich at gmail.com
Sun Oct 12 05:37:49 PDT 2008
Hello tsalm,
> Hello,
>
> It's certainly a stupid question...
>
> I want to delete an dynamic array of the memory.
> I don't understand why the example above doesn't clear the memory uses
> by
> the array :
> /* ------------------------------- */
> import tango.time.Time;
> import tango.io.Stdout;
> import tango.stdc.stdio;
> import tango.core.Memory;
> void main()
> {
> // Create a big array
> int[] t = new int[100000000];
> // delete the array
> t = null;
> // Clean the memory
> GC.collect();
> GC.minimize();
> // No, it's not free :-(
> Stdout("Now, the memory must be free...")();getchar;
> }
> /* ------------------------------- */
>
> How can I totally clear this array of the memory ?
>
> Thanks in advance,
> TSalm
I had the same problem. It seems to me that Tango GC just doens't collect
dynamically allocated arrays! (But collects when you use t.lenght)
This worked for me:
import tango.core.Memory;
GC.free (t.ptr);
More information about the Digitalmars-d-learn
mailing list