Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!ames!ucbcad!ucbvax!decvax!decwrl!sqm.dec.com!jmsynge From: jmsynge@sqm.dec.com.UUCP Newsgroups: comp.sys.amiga Subject: Re: A shared library (mostly) in C Message-ID: <10334@decwrl.DEC.COM> Date: Wed, 10-Jun-87 22:20:21 EDT Article-I.D.: decwrl.10334 Posted: Wed Jun 10 22:20:21 1987 Date-Received: Sat, 13-Jun-87 07:09:27 EDT Sender: daemon@decwrl.DEC.COM Organization: Digital Equipment Corporation Lines: 32 Summary: The linker doesn't solve the name conflict problem Dave Haynie writes that he expects the function name conflicts in libraries to be resolved at link time. Dave may have missed the point which Bob Page was trying to express: imagine that you have bought two libraries, both of which provide very different functionality. But they both provide a routine named push(). And you need to be able to use both versions of push(). Now we have a name conflict which is not resolvable when writing in C (Modula-2 might offer an acceptable solution). An additional problem is one of conflicts in library names themselves. Two companies might happen to identically name their libraries. Imagine two libraries named "Music.library". They could provide complementary capabilities, but be incompatible due to the fact that only one can exist on the system. I would suggest that Commodore perform the same registration service with library names as they've done with Zorro id's and IFF hunk names. This would not handle the problem of libraries which contain identically named functions, but it would be an improvement. In a way the link problem isn't too bad because ultimately one is transferring control via a jump table at some offset from the library structure, not through a dynamic linking mechanism such as Matt Dillon proposed. If that type of system were introduced, a whole new set of problems would crop up. James Synge USENET: {decvax, ucbvax, allegra}!decwrl!sqm.dec.com!jmsynge ARPAnet: jmsynge%sqm.DEC@decwrl.DEC.COM #include "Ken Olsen can speak for Digital, not me!"