On Monday, 25 January 2021 at 16:54:42 UTC, vitamin wrote:
On Monday, 25 January 2021 at 16:44:40 UTC, frame wrote:
On Monday, 25 January 2021 at 16:14:05 UTC, vitamin wrote:
[...]
Yes with simple new operator.
Forgot to mention: the DLL itself calls a DLL.
[...]
If there are separated GCs for DLLs, then you must call
GC.addRoot() from DLL where you allocate that object.
Yes, I directly calling on every function that returns an object:
T fun(T)(T object) {
GC.addRoot(cast(void*) object);
}
...
extern (C) export SomeObject bar() {
return fun(new SomeObject);
}
Wrong way?