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