ssll - simple shared library loader
    Sönke Ludwig 
    sludwig+d at outerproduct.org
       
    Mon Jan  6 10:04:38 UTC 2020
    
    
  
Am 06.01.2020 um 00:23 schrieb Oleg B:
> It's analog of bindbc, but without need write boilerplate code.
> May be bindbc is designed for another cases, but I don't understand need 
> writing triple definition for one function (pointer, loading, 
> wrap-function).
> ssll betterC compatible too, and tested on windows (x86) and linux (x86, 
> ARM).
> 
> package: http://code.dlang.org/packages/ssll
> github: https://github.com/deviator/ssll
> 
> Example usage:
> 
> Mosquitto binding and wrapper
> https://github.com/deviator/mosquittod/blob/master/source/mosquittod/api/load.d 
> 
> 
> libsystemd binding
> https://github.com/deviator/sdutil/blob/master/source/systemd/daemon.d
> 
> I think somebody can find it handy.
Just throwing this in as a possible API alternative/addition - I've 
written something similar with the goal to make it work transparently 
with existing static bindings: https://code.dlang.org/packages/dynamic
It uses a mixin to specify the module(s) containing the declarations 
instead of a UDA:
mixin dynamicBinding!(somelib) _somelib;
void main()
{
     _somelib.loadBinding(["somelib.so"]);
     import somelib : foo;
     foo();
}
    
    
More information about the Digitalmars-d-announce
mailing list