I have lately been a little confused about the way that libraries are loaded in C++, specifically in Windows. I understand the whole search process, but can anyone answer this:

If I have NotePod.exe, which will load Foo.dll, and I have FooPod.exe that will also load Foo.dll, will there be two instances of Foo.dll loaded into memory? If NotePod.exe loads Foo.dll, and then FooPod.exe starts, will it load Foo.dll from the already loaded (by NotePod.exe), or will it perform the normal search/load process?

Recently we have been having some issues that may be DLLHELL, and I would really like to know if this is true first.

Thanks for any response.