DLL vs Shared Library

Tony Arnold tony.arnold at manchester.ac.uk
Thu Mar 30 14:26:40 UTC 2006


Alan,

Alan McKinnon wrote:

>>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"

That's where they got it wrong. But running two appliactions that need
the same DLL will mean the DLL only gets loaded once into memory,
assuming it's the right version etc.

> 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 :-)

And I believe the packging system developed by Ian Murdoch of Debian was
designed explicitly to separate out libraries from applications into
different packages. I think this was a stroke of genius as no-one had
thought to do it like this before!

Regards,
Tony.
-- 
Tony Arnold, IT Security Coordinator, University of Manchester,
IT Services Division, Kilburn Building, Oxford Road, Manchester M13 9PL.
T: +44 (0)161 275 6093, F: +44 (0)870 136 1004, M: +44 (0)773 330 0039
E: tony.arnold at manchester.ac.uk, H: http://www.man.ac.uk/Tony.Arnold




More information about the ubuntu-users mailing list