Loading DLLs by name

I have a program (a Verilog compiler) that under Linux is learning to load
plug-in modules by a name given on the command line. The module provides a
handful of entry points for performing actions, and calls functions in the
core program to access data about the design.

The Linux routine to load a shared object is dlopen. Works fine on most
UNIX variants, in fact. And the shared object has no trouble accessing the
exported symbols in the core program.

The Windows equivilent to dlopen surely exists, I just need to look a little
harder. But the real question I have is how to build a DLL that references
symbols in the core program? (Surely, it must be possible.) Somehow a
.lib must be created to allow the link of the DLL (the plug-in) to resolve
the symbols in the core program?

Steve Williams “The woods are lovely, dark and deep.
xxxxx@icarus.com But I have promises to keep,
xxxxx@picturel.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep.”

> The Windows equivilent to dlopen surely exists, I just need to look a
little

harder. But the real question I have is how to build a DLL that references
symbols in the core program? (Surely, it must be possible.) Somehow a
.lib must be created to allow the link of the DLL (the plug-in) to resolve
the symbols in the core program?

VDDs on NT (plugins to NTVDM) reference the core symbols in the NTVDM.EXE.
You must be the EXE with exported symbols - a .LIB will be built, then use
the LIB in the DLL build.

Max