On Friday, 16 October 2020 at 15:14:03 UTC, Ali Çehreli wrote:
On 10/15/20 2:42 PM, Ali Çehreli wrote:

> I've recently done the same by calling dlopen() and dlsym()
> directly. Runtime.loadLibrary documentation says "If the
library
> contains a D runtime it will be integrated with the current
runtime."
> That would explain why my program seg-faults for my first
tester with
> the garbage collector signatures in the function call stack.

Replacing dlopen() with Runtime.loadLibrary() did solve the segfault issue for me.

Ali

Isn't dlopen() for Linux and LoadLibrary() for Windows? Or are you running Windows Subsystem for Linus (WSL) or mingw?


Just to add to the above discussions (for future searchers). I also found a demangle() in std.demangle that I used in the example below.

alias addSevenFuncSignature = int function(int, int);

addSevenFuncSignature  addSeven;
writeln(addSeven.mangleof);
writeln(demangle(addSeven.mangleof));

_D9onlineapp4mainFZ8addSevenPFiiZi
int function(int, int)* onlineapp.main().addSeven

Reply via email to