Re: getting symbols from dynamic modules



(Keeping discussion on the list)

Felix Kater writes:
Wow! That's cool. I'll keep that in mind for my next own modules --
however, in my case, I've got some DLLs given, and I can't modify them.
These DLLs provide some hundreds of functions...

Ah ok.

Since the function's declarations are *all* *given* *by* *the* *header*
file -- shouldn't it be possible to just include the header as usual
even with dynamically loaded modules?

On platforms that use ELF (Linux, Solaris, BSD?), I guess so, as long
as you don't call the functions until you have loaded the module that
implements them. But not on Windows.

I guess it might be a good idea to ask for something like
g_module_list_symbols() in an enhancement request in bugzilla. Dunno
how easy to implement and well-defined that would be on the various
platforms, though. On Windows, it is a well-defined task, except that
one should really also return at least one flag per symbol, whether it
is function or data. Unfortunately, although the task is well-defined,
I can't find, after a quick browse of the Platform SDK documentation,
what API to use to enumerate the entry points of a loaded (or
unloaded, for that matter) DLL. Can't say about ELF.

--tml




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]