[Mono-list] P/Invoke to dlopen
    Robert Jordan 
    robertj at gmx.net
       
    Wed Aug  5 06:08:37 EDT 2009
    
    
  
Dallman, John wrote:
> Dino Viehland wrote: 
> 
>> So for dlopen I need to know what the P/Invoke signature should look like.  
>> Ideally that signature would work on all *nix systems.
> 
> Robert has given you the runes for Linux, but dlopen and dlsym come from 
> different places on other *nix systems:
> 
> Mac OS X: libSystem.B.Dylib
> Solaris:  ld.so
This can be configured from outside with mono dllmaps.
See mono-config(5).
<configuration>
   <dllmap dll="libdl.so" target="some other dylib" os="osx"/>
   <dllmap dll="libdl.so" target="some other so" os="solaris"/>
</configuration>
> And so on on other systems. Dlopen also tends to have quite complicated 
> behaviour on all of them, with 32-vs-64 issues, various control flags, 
> etc. We try hard to avoid using it; I appreciate you don't have a choice, 
> but getting it all straight is unlikely to be quick or easy. 
Well, look at Mono's util/mono-dl.[c|h]. It is supporting only
dlopen and Win32-like APIs w/out any platform specific handling
other than SO extension handling. So p/invoking dlopen is sufficient.
Robert
    
    
More information about the Mono-list
mailing list