[cffi-devel] calling a function of the same name from two DLLs

Jack Unrue jdunrue at gmail.com
Wed Dec 20 14:42:48 UTC 2006


On 12/20/06, Hoehle, Joerg-Cyril <Joerg-Cyril.Hoehle at t-systems.com> wrote:
> Jack Unrue wrote:
> >
> >...which is essentially what Jörg suggested, I'm just saying maybe some
> >macrology could hide the details.
>
> I was not that detailed.  Quite to the contrary, I had in mind a system
> which would locate the address once, (e.g. when evaluating def-call-out),
> not each time the function is called (irk!).

Sorry for not better separating what you suggested and my
performance-destroying idea (irk indeed :-)

> Loading and unloading a library is - a priori - an expensive operation.
> I desribed a scenario where only opened libraries are queried, presumably
> expensive enough.

True, although certain libraries such as shell32 and comctl32 are likely
already loaded by the implementation (I've checked LW and CLISP so
far), so the additional load/unload operations on top of that are just
reference count manipulation (I think, but if you have better info please
correct me).

> But if you really want, you *can* do the above for each foreign funcall.
> Some foreign libraries do that already, internally (e.g. allocate resource
> that some library provides, do stuff, then release library).

That's right.

-- 
Jack Unrue



More information about the cffi-devel mailing list