Steven is right, was quite late when I said that so it'll work but not
for the reasons I thought it would.
On Monday, 17 July 2023 at 03:43:04 UTC, Alain De Vos wrote:
Is it possible to print runtime memory usage of:
-The stack
-The heap
-The garbage collector ?
there's gc.stats for part of it:
https://dlang.org/library/core/memory/gc.stats.html
Maybe code above works when you enforce an Garbage-collection-run
?
Code below works fine. So you cannot use "new" but must use
malloc?
```
import std.stdio:writefln;
import object: destroy;
import core.memory: GC;
import core.stdc.stdlib: malloc,free;
void dofun(){
auto pa=cast(int *)m
Is it possible to print runtime memory usage of:
-The stack
-The heap
-The garbage collector ?
The following program prints two different addresses.
Meaning the new allocates memory until the program dies.
So the means memory leak by default ?
```
import std.stdio:writefln;
import object: destroy;
import core.memory: GC;
void dofun(){
auto a=new int[1000];
writefln("%12x",&a);
On 7/16/23 2:41 PM, Alain De Vos wrote:
Is this ok ?
```
void main(){
int[] i=new int[1];
import object: destroy;
destroy(i);
import core.memory: GC;
GC.free(GC.addrOf(cast(void *)(i.ptr)));
}
```
No, that won't work. Check out `i` value after you call `destroy` on
Yes.
For basic types like int's, you don't need to destroy the array.
As long as you don't slice the array and store that in i, you don't need
to call addrOf too.
Is this ok ?
```
void main(){
int[] i=new int[1];
import object: destroy;
destroy(i);
import core.memory: GC;
GC.free(GC.addrOf(cast(void *)(i.ptr)));
}
```
You can do it with ``GC.free``.
But you really shouldn't need to (it won't automatically release it back
to OS).
https://dlang.org/phobos/core_memory.html#.GC.free
On Sunday, 16 July 2023 at 11:16:55 UTC, Danilo wrote:
Would a static constructor be okay? This way the static data
is not initialized at every `new` and object creation is faster.
Alternatively, i can think about your proposal. At the moment, I
have solved my problem using the following metho
But is there really no other way to immediately point a static
array to a variable?
Looks like this is not implemented yet:
- https://dlang.org/spec/hash-map.html#static_initialization
Would a static constructor be okay? This way the static data
is not initialized at every `new` and object cre
On Saturday, 15 July 2023 at 23:34:22 UTC, Danilo wrote:
Works fine, if you add a semicolon at the end.
I'm sorry. I didn't put the question quite correctly. Yes, this
is how the array is initialized. I'm trying to describe it all in
a class. I.e. I need to create a variable in the class that
12 matches
Mail list logo