Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / dll's vs static libs

Author
Message
Matty H
11
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 25th Oct 2010 19:26 Edited at: 25th Oct 2010 19:26
I was wondering how dependencies work with dll's, I am used to using libs(static) and telling my compiler where to find all my dependencies. It just occured to me that the dll I'm creating for DBPro works without me telling it what libs I am depending on(mainly PhysX).

How does this work, I'm guessing that when we make a dll, it contains everything needed from the dependent libs(static) to run, I just make sure the required PhysX dll's are in the project folder and everything is set. If thats correct, dbPro users do not need to download the PhysX SDK like GDK users do? I could just provide them with the PhysX dll's, is that correct?

But I'm guessing that if my dependency is another dll, dbPro will need this to run my dll?

Would be great if somebody could confirm/correct some of my assumptions, thanks.

IanM
Retired Moderator
17
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 25th Oct 2010 19:57
I guess you're talking about implicit linking, rather than the explicit stuff we usually deal in here (LoadLibrary, GetProcAddress etc)?

The way this happens is fairly simple - for each DLL that you want to implicitly link against, there's a small static lib that you actually link to. When this is made a part of your app, this static lib automatically loads the DLL and links your calls to the functions in the DLL.

This can happen either at load time (standard), or when you call the first function from the DLL (delayed load).

From this, you can probably determine that the lib does not replace the DLL, so you still need the DLL to run your executable. So yes, your users will still need to have the (correct) PhysX runtime installed to use your plug-in.

Utility plug-ins (26-JUL-2010)
I'm applying terms of use that require you to wear a red nose and honk a horn whenever you use the Internet
Matty H
11
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 27th Oct 2010 16:47
Thanks IanM, I'm a dll noob
I was very surprised to learn that dbPro users dont need the DirectX SDK or the PhysX SDK, thats what was confusing me slightly I think, thanks for your help.

Login to post a reply

Server time is: 2019-10-16 22:38:55
Your offset time is: 2019-10-16 22:38:55