Silly question: In this post about static / dynamic loading, i
noticed that it uses the dlopen/dlclose, while there is a
core.runtime for handling the loading.
http://dlang.org/dll-linux.html#dso9
Dynamically Loading a D DLL From a D Program
void* lh = dlopen("libdll.so", RTLD_LAZY);
// Do Stuff
dlclose(lh);
Is it not better to use:
import core.runtime : Runtime;
void* lib = Runtime.loadLibrary(fileName);
// Do Stuff
Runtime.unloadLibrary(lib);
Is there also any information regarding d classes loading instead
of functions?
It also seems that the core runtime is incomplete with basic
loading but no handling of dlsym, so your still forced to use the
basic c conversion casting.
int function() fn = cast(int function())dlsym(lib, libFunction);
fn();