On 18/05/18 11:32 PM, D. Hugh Redelmeier via talk wrote:
| From: Russell via talk <[email protected]>
| On May 17, 2018 8:46:25 AM EDT, "D. Hugh Redelmeier via talk"
<[email protected]> wrote:
| I remember from the Dynamic Linking talk that some wags would say, all
| high sierra like; "your talking about dlls, thats M$ cruft. This is
| Linux, we don't need no stinkin dlls."
UNIX has had them since before Windows. Just look at all the .so
files.
What UNIX does differently is the idea of major and minor versions:
$MAJOR.$MINOR. A program specifies the Major version it requires and
the system provides the highest minor version available for that major
version. Interfaces can change only when major versions are changed.
The Windows implementation did not have any such provision so
substitutions often went wrong. Various creative failure modes
ensued, but I won't bore you with the details.
It's notable that Linux numbers the interface, not the library. This
came from Multics, and was heavily used by Solaris and the glibc
developers to avoid an NP_complete problem of "how do I have two
versions of something at the same time?" More details that you ever
wanted in
https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-complete-problem/
--dave
--
David Collier-Brown, | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
[email protected] | -- Mark Twain
---
Talk Mailing List
[email protected]
https://gtalug.org/mailman/listinfo/talk