On Oct 28, 2005, at 22:22, Nick Glencross wrote:
Guys,
As mentioned on the list yesterday I started evaluating ffcall as a
way of providing NCI functionality.
http://www.haible.de/bruno/packages-ffcall.html
I've downloaded it and had a short look into sources. The list of
supported platforms is quite impressive. OTOH it looks a bit under
documented to me.
I've now got a working POC for function calls, and although callbacks
don't work yet, they're not far off. All but 11 of the 59 NCI tests
pass, and those that don't work exercise callbacks or reading back
values from types for which I haven't done yet.
That's a lot for this early stage. Good work.
Pros:
Makes ffcall very worthy to include.
Cons:
* Reliance on a library, although NCI may be an optional feature
A library per se isn't a problem. You mentioned licence issues
yesterday due to GPL. Keeping a fallback to NCI (with possibly reduced
functionality would be ok too probably).
* Performance? There are a few additional loops and switches, but I
can't see this being a real issue
Can be measured.
* Possibly incompatible 3rd party licensing
Ah, yep - IANALL.
As far as PIR/PASM code, the interface is unchanged, although I would
like to suggest that at some point the newclass signature include the
return type in common with other opcodes, as hopefully we can support
this.
You are talking about new_callback ?
Cheers,
Nick
p.s. As you can see, I've been won over by ffcall, but I've only been
using it for a day so there may well be show stoppers to using it.
Great work for one day.
leo