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?

Reply via email to