Loading Symbols from Loaded Libraries
    FreeSlave via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Mon Sep  1 08:23:17 PDT 2014
    
    
  
On Monday, 1 September 2014 at 13:31:32 UTC, Matt wrote:
> If I were to use Runtime.loadLibrary(), it claims to merge any 
> D GC in the shared lib with the current process' GC.
>
> Do I need to version away symbol loading code for each platform?
> Or is there already code in Phobos that allows us to do this 
> independent of platform?
There was high level Library wrapper by Martin Nowak ( 
https://github.com/MartinNowak/druntime/commit/f8f512edea2370759ab75703dceece5e069645be 
), but it seems it was not added to main dmd repository.
So you should use dlsym / GetProcAddress. Use 
core.demangle.mangle to get mangled names of D functions.
I also made some similar wrapper in my project 
https://bitbucket.org/FreeSlave/dido But it was not updated for a 
long time and now it's outdated (code uses dlopen and LoadLibrary 
which is wrong and should be changed to Runtime.loadLibrary. Same 
for dlclose and FreeLibrary)
    
    
More information about the Digitalmars-d-learn
mailing list