How can I get a .dll to resolve at runtime ?
Emanuele ALIBERTI
ealiberti@hotmail.com
Sat Jul 31 18:34:00 GMT 1999
>I don't think so. What you'd normally do is have the exe call the dll
>at startup and pass it pointers to its functions, which the dll would
>store in per-process memory (remember that dlls are shared among many
>executables).
The DLL image is actually loaded once and memory mapped n-times in the
address space of each process that imports from it.
>One thing to try is to export the function with a .DEF file, and see
>if that works. You'd have to build an import library for your
>executable and link the dll against that, but I'm not sure if NT would
>even *allow* such a hack.
Yes, it works. That is actually a quasi-static linking, because the loader
fails to initialize a porcess if it does not find each DLL in the process
image's imports table. You can also call an exported function by calling at
run-time LoadLibrary() and asking for an entry point with GetProcAddress().
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list