OK, thanks, much clearer now. Yep, P5NCI is what you want.
Notice that P5NCI is currently limited to C functions
taking up to four arguments -- which is why it took
so long to build, since p5NCI.xs
contains over 100,000 lines of code covering all
type combinations of up to 4 arguments.
The only way to avoid this brute-force approach is
to manipulate the call stack with non-portable assembler,
which I assume is how it's done by
Win32::API
and libffi (now maintained as part of GCC).
See also Win32::API equivalent for Unix and Re: Disputation of g0n on the power and efficacy of XS.
| [reply] |