Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!cbmvax!daveh From: daveh@cbmvax.cbm.UUCP (Dave Haynie) Newsgroups: comp.sys.amiga Subject: Re: A shared library (mostly) in C Message-ID: <1987@cbmvax.cbmvax.cbm.UUCP> Date: Tue, 9-Jun-87 00:14:23 EDT Article-I.D.: cbmvax.1987 Posted: Tue Jun 9 00:14:23 1987 Date-Received: Fri, 12-Jun-87 01:06:38 EDT References: <1358@ulowell.cs.ulowell.edu> Organization: Commodore Technology, West Chester, PA Lines: 24 in article <1358@ulowell.cs.ulowell.edu>, page@ulowell.cs.ulowell.edu (Bob Page) says: > > Uh oh .. > > Now that we can write our own C libraries, how do we handle name conflicts? > If I have (say) an "iff.library" that has an IFF read routine called > "iffread" and you have a library for your application called "myapp.library" > that also has a routine called "iffread", which one gets used, mine or yours, > assuming you call OpenLibrary() on both libraries? I'd expect that name conflicts in this care are resolved the same way that name conflicts are resolved in any compilation -- first come, first serve, at link time. So when you link in iff.lib before myapp.lib, the "iffread()" function you get is in iff.lib, just as when you link lc.lib in before amiga.lib, you get Lattice's printf(), not the Amiga library "printf()". It's the interface code that turns symbolic names into offsets from a library base, not the library itself. I claim all the symbolic names will be resolved at compile time. > ..Bob -- Dave Haynie Commodore-Amiga Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh "The A2000 Guy" BIX : hazy "These are the days of miracle and wonder" -P. Simon