Path: utzoo!attcan!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!labrea!polya!kaufman From: kaufman@polya.Stanford.EDU (Marc T. Kaufman) Newsgroups: comp.sys.mac.programmer Subject: Re: LSC 3.0, argc & argv, linking Message-ID: <3860@polya.Stanford.EDU> Date: 7 Sep 88 15:29:46 GMT References: <66791@sun.uucp> <2391@pixar.UUCP> Reply-To: kaufman@polya.Stanford.EDU (Marc T. Kaufman) Organization: Stanford University Lines: 18 In article <2391@pixar.UUCP> upstill@pixar.UUCP (Steve Upstill) writes: > I say it's unfair to expect ThinkC to do something Unix C doesn't: allow >the user to supercede an arbitrary function from a library. The Unix >linker links in a whole module whenever it defines a single undefined symbol. You imply that the link problem is a "C" restriction. It is not. It is a problem with a particular LINKER implementation. There is no requirement that there be more than one entry point in a module, or that specific entry points cannot be overridden quietly... I had such a linker on a VAX I used, as well as many other large mainframe machines. There is no way a user can know in advance just which entry points are grouped into "modules". For the sake of portability, I often include my own version of routines which may be present on some, but not all, systems the code may run on (such as atan2). It is reasonable to expect that a linker will honor my requests to override specific modules. Marc Kaufman (kaufman@polya.stanford.edu)