DLL vs Shared Library

Alan McKinnon alan at linuxholdings.co.za
Thu Mar 30 13:55:40 UTC 2006


On Thursday 30 March 2006 11:48, Tony Arnold wrote:
> Daniel,
>
> Daniel Carrera wrote:
> > Now my question: Does this mean that this is *not* true for
> > Windows DLLs? Do Windows apply reload the same library
> > redundantly for every application that uses it? I can't belive
> > that could be true (think of the core system librarries!). Help?
>
> As I understand it, DLLs under Windows are shared just like shared
> libs on Linux.

That's how Microsoft intended it. It's not how it works in 
RealLife(tm).

In RealLife(tm) MS dlls are not versioned like ours are, so an app has 
no easy way of knowing which version is installed. It might want 
DirectX version6 but what it gets is version 9, and things don't work 
right. It's called "dll hell"

The solution developers usually choose is to bundle every imaginable 
dll that they can with the app and store it in the app's folders 
(which are searched before the system folders). In effect what you 
have is static linking implemented dynamically. It's not quite a new 
copy of the core system libs with every app, it's just the next worst 
thing :-)

-- 
Alan McKinnon
alan at linuxholdings dot co dot za
+27 82, double three seven, one nine three five




More information about the ubuntu-users mailing list