aboutsummaryrefslogblamecommitdiff
path: root/devel/dyncall/pkg-descr
blob: 45a8fca9b8f56dfc9fa587cf58771e0f9fb7dd7f (plain) (tree)
1
2
3
4


                                                                         
                                                                        














                                                                         
                            
The dyncall library encapsulates architecture-, OS- and compiler-specific
function call semantics in a virtual "bind parameters from left to right
and then call" interface allowing programmers to call C functions in a
completely dynamic manner. In other words, instead of calling a function
directly, the dyncall library provides a mechanism to push the function
parameters manually and to issue the call afterwards.
This means, that a program can determine at runtime what function to
call, and what parameters to pass to it. The library is written in C and
assembly and provides a very simple C interface to program against.

The library comes in very handy to power flexible message systems,
dynamic function call dispatch mechanisms, closure implementations or
even to bridge different programming languages.
When it comes to language bindings, the dyncall library provides a clean
and portable C interface to dynamically issue calls to foreign code using
small kernels written in assembly. Instead of providing code for every
bridged function call, which unnecessarily results in code bloat, only a
couple of instructions are used to invoke every possible call.

WWW: https://www.dyncall.org