The new interface looks like this:
var sresult = Dynlink::func1[int,string] (linst, "setup") (config);
This actually calls the function. But you can store it for later calls:
var setup = Dynlink::func1[int,string] (linst, "setup");
This is wise if there's more than one call to avoid dlsym being called
each time.
The type coding is:
func1[RETURN, ARGUMENT0]
and there's a func0 and func2 as well, and also
proc0, proc1, proc2. Will add more if we need more
arguments.
These functions encapsulate the thread-frame object in the closure
so you don't need to worry about it.
These functions ONLY work with
export fun
Another set is required for
export cfun
The latter functions do not have a thread frame, so the
C level interface is different by one argument.
The above functions aren't the ultimate in ease of use but they're
better than what we had before.
If you get the type of your function wrong .. hell will break out.
Note: the types you give do not have to be "the same" as in the
plugin, but they must be "layout compatible".
--
john skaller
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language